/** * Dutch — translated from locales/en.js. * * Register: formal ("u"). * `hub`, `node` and `GEK` are left in English: they name the CLI * (`meshbay-node`), node.toml and the docs, which are English throughout. * Grammatical gender chosen here: de hub, de node, de GEK (de sleutel). */ export default { // Nav 'nav.toggle_menu': 'Menu tonen', 'nav.light_mode': 'Licht thema', 'nav.dark_mode': 'Donker thema', 'nav.logout': 'Afmelden', 'nav.login': 'Aanmelden', // Sidebar 'sidebar.my_groups': 'Mijn groepen', 'sidebar.no_groups': 'Nog geen groepen', 'sidebar.discover': 'Ontdekken', 'sidebar.public_groups': 'Openbare groepen', // Login 'login.title': 'Aanmelden', 'login.username': 'Gebruikersnaam', 'login.password': 'Wachtwoord', 'login.submit': 'Aanmelden', 'login.loading': 'Bezig met aanmelden...', 'login.no_account': 'Nog geen account?', 'login.register_link': 'Account aanmaken', 'login.forgot': 'Wachtwoordzin vergeten?', 'reset.title': 'Wachtwoordzin opnieuw instellen', 'reset.request_intro': 'Voer uw gebruikersnaam en het e-mailadres van het account in. Als ze overeenkomen, wordt een herstelcode naar dat adres gestuurd.', 'reset.send_code': 'Code versturen', 'reset.form_intro': 'Voer de code uit uw e-mail in en kies een nieuwe wachtwoordzin. Als u uw herstelsleutel hebt, voeg die toe om ook de toegang tot uw groepen te herstellen.', 'reset.code': 'Herstelcode', 'reset.recovery_key': 'Herstelsleutel (optioneel)', 'reset.recovery_key_hint': 'Laat leeg als u die niet hebt. Zonder de sleutel wordt uw aanmelding hersteld, maar moet u tot elke groep opnieuw toetreden.', 'reset.new_pass': 'Nieuwe wachtwoordzin', 'reset.new_pass_repeat': 'Nieuwe wachtwoordzin herhalen', 'reset.submit': 'Wachtwoordzin opnieuw instellen', 'reset.working': 'Uw groepsidentiteiten worden hersteld…', 'reset.signin_restored': 'Uw aanmelding is hersteld.', 'reset.groups_restored': 'Uw groepsidentiteiten zijn hersteld op elke bereikbare node.', 'reset.no_recovery': 'Uw groepsidentiteiten zijn niet hersteld. Vraag voor elke groep de operator ervan om u los te maken en een nieuwe uitnodigingscode te sturen, en treed dan opnieuw toe.', 'reset.needs_operator': 'Deze groepen vereisen nog actie — vraag elke operator om u los te maken en een nieuwe code te sturen:', 'reset.go_app': 'Naar de app', 'reset.back_to_login': 'Terug naar aanmelden', 'reset.err_unsupported': 'Het opnieuw instellen van de wachtwoordzin vereist de crypto-module van de browser, die hier niet beschikbaar is.', // Register 'register.title': 'Account aanmaken', 'register.username': 'Gebruikersnaam', 'register.email': 'E-mailadres', 'register.password': 'Wachtwoordzin (minstens 12 tekens)', 'register.confirm': 'Wachtwoord bevestigen', 'register.submit': 'Account aanmaken', 'register.loading': 'Account wordt aangemaakt...', 'register.has_account': 'Hebt u al een account?', 'register.login_link': 'Aanmelden', 'register.recovery_title': 'Bewaar uw herstelsleutel', 'register.recovery_intro': 'Deze sleutel herstelt uw groepsidentiteiten als u ooit uw wachtwoordzin vergeet. Bewaar hem in een wachtwoordmanager of op een veilige plek — hij wordt maar één keer getoond en de hub ziet hem nooit.', 'register.recovery_copy': 'Kopiëren', 'register.recovery_copied': 'Gekopieerd', 'register.recovery_warning': 'Als u zowel uw wachtwoordzin als deze sleutel verliest, blijven uw bestanden op hun nodes staan, maar treedt u tot elke groep opnieuw toe met een nieuwe identiteit.', 'register.recovery_saved': 'Ik heb mijn herstelsleutel op een veilige plek bewaard.', 'register.recovery_continue': 'Doorgaan', 'register.recovery_email_opt': 'Stuur deze herstelsleutel ook naar mij per e-mail als back-up', 'register.recovery_emailed': 'Er is ook een kopie naar uw e-mailadres gestuurd, in hetzelfde bericht als uw verificatiecode.', 'register.recovery_not_emailed': 'Dit is niet per e-mail verstuurd. Sla het nu op — dit is de enige keer dat het wordt getoond.', 'register.success_title': 'Verifieer uw e-mail', 'register.success_msg': 'Er is een verificatiecode naar uw e-mailadres gestuurd. Voer deze hieronder in om uw account te activeren.', 'register.go_login': 'Naar het aanmelden', 'register.code_placeholder': 'Verificatiecode', 'register.verify_btn': 'Verifiëren', 'register.verifying': 'Verifiëren…', 'register.verified_title': 'E-mail geverifieerd', 'register.verified_msg': 'Uw account is actief. U kunt zich nu aanmelden.', 'register.resend': 'Code opnieuw verzenden', 'register.resend_sent': 'Er is een nieuwe code verzonden.', 'login.pending_verification': 'Uw e-mailadres is nog niet geverifieerd. Controleer uw inbox voor de verificatiecode.', 'login.verify_link': 'E-mail verifiëren', 'register.err_mismatch': 'De wachtwoorden komen niet overeen', 'register.err_min_len': { one: 'Gebruik minstens {n} teken', other: 'Gebruik minstens {n} tekens', }, 'register.err_too_weak': 'Te makkelijk te raden. Uw wachtwoordzin is wat uw sleutels ' + 'beschermt daar waar ze bewaard worden — een paar woorden zonder onderling ' + 'verband werken goed.', 'register.strength': 'Sterkte: ongeveer {bits} bits. Ze beschermt de kopie van uw ' + 'sleutels die op de nodes staat waar u zich bij aansluit, dus het loont om er ' + 'even bij stil te staan.', // Home 'home.welcome': 'Welkom bij MeshBay', 'home.no_groups': 'U bent nog van geen enkele groep lid.', 'home.browse_prefix': 'Bekijk de ', 'home.browse_link': 'openbare groepen', 'home.browse_suffix': ' of vraag een groepsbeheerder om u uit te nodigen.', 'home.my_groups': 'Mijn groepen', // Explore 'explore.title': 'Openbare groepen', 'explore.search': 'Groepen zoeken...', 'explore.loading': 'Bezig met laden...', 'explore.empty': 'Geen openbare groepen beschikbaar.', 'explore.create_group': 'Groep aanmaken', 'explore.join': 'Deelnemen', 'explore.member': 'Lid', 'explore.disabled': "This hub does not have public groups.", // Group page 'group.default_name': 'Groep', 'group.tab_files': 'Bestanden', 'group.tab_chat': 'Chat', 'group.tab_video': "Video's", 'group.tab_music': 'Muziek', 'group.tab_photos': "Foto's", 'group.tab_members': 'Leden', 'group.tab_settings': "Instellingen", 'members.danger_leave_hint': "U verliest de toegang tot de bestanden en de chat van deze groep.", 'members.uploads_title': "Uploads", 'members.uploads_on': "Leden kunnen bestanden toevoegen", 'members.uploads_off': "Alleen u kunt bestanden toevoegen", 'members.uploads_disable': "Uitschakelen", 'members.uploads_enable': "Inschakelen", 'members.uploads_hint': "Geldt voor iedereen behalve u. De node weigert de upload zelf — het gaat niet om het verbergen van een knop.", 'members.apps_title': "Toepassingen", 'members.apps_hint': "Welke onderdelen van deze groep leden zien. Minstens één moet ingeschakeld blijven.", 'members.apps_need_one': "Er moet minstens één toepassing ingeschakeld blijven.", 'members.danger_delete_hint': "De groep verdwijnt voor alle leden. Dit kan niet ongedaan worden gemaakt.", 'group.filter': 'Bestanden filteren...', 'group.refresh_index': 'Lijst vernieuwen', 'group.col_name': 'Naam', 'group.col_size': 'Grootte', 'group.col_type': 'Type', 'group.col_date': 'Datum', 'group.empty_filter': 'Geen bestand voldoet aan het filter', 'group.empty_dir': 'Deze map is leeg', 'group.download': 'Downloaden', 'group.play': 'Afspelen', 'group.offline_title': 'Er is momenteel geen node online voor deze groep.', 'group.offline_hint': 'De bestanden verschijnen zodra er een node verbinding maakt ' + 'die deze groep host.', 'group.upload': 'Uploaden', 'group.mkdir': 'Nieuwe map', 'group.mkdir_prompt': 'Naam van de nieuwe map:', 'device.add_title': 'This browser is not linked to this node yet', 'device.add_hint': 'Your account is known here, but this browser holds a different key. Approve it from a device already linked — no operator needed.', 'device.add_btn': 'Get a linking code', 'device.add_show': 'Type this code into a device already linked to this node, within the hour:', 'device.mine_title': 'Your devices on this node', 'device.mine_hint': 'Each browser or client you use here holds its own key. They are separate from your devices on other nodes.', 'device.mine_empty': 'No device is linked here yet.', 'device.this_one': 'this one', 'device.revoke': 'Remove', 'device.revoke_confirm': 'Remove this device? It will lose access to this node until it is linked again.', 'device.approve_hint': 'Linking a new device? Enter the code it is showing.', 'device.approve_btn': 'Approve', 'device.approved': 'Device linked.', 'group.root_unavailable': '(niet beschikbaar — de schijf is losgekoppeld)', 'group.view': 'Bekijken', 'group.delete': 'Verwijderen', 'group.delete_confirm': '{name} verwijderen?', 'group.delete_group': 'Groep verwijderen', 'group.delete_group_confirm': '"{name}" definitief verwijderen en alle leden ' + 'verwijderen? De bestanden op de node blijven bewaard.', 'group.err_transport': 'Transportmodule niet geladen', // Status 'status.idle': 'Inactief', 'status.discovering': 'Nodes zoeken...', 'status.connecting': 'Verbinden via WebRTC...', 'status.connecting_short': 'Verbinden…', 'status.fetching': 'Index ophalen...', 'status.files': { one: '{n} bestand', other: '{n} bestanden', }, 'status.offline': 'Geen node online', 'status.error': 'Verbinding mislukt', // Chat 'chat.empty': 'Nog geen berichten. Begin het gesprek!', 'chat.placeholder': 'Typ een bericht...', 'chat.send': 'Versturen', 'chat.attach': 'Bestand bijvoegen', // Video player 'video.loading': '{name} wordt geladen...', 'video.buffering': 'Bezig met bufferen...', 'video.resumed_at': "Hervat op {time}", 'video.from_start': "Vanaf het begin afspelen", 'video.close': 'Sluiten (Esc)', 'preview.pdf_fallback': 'Deze browser toont de PDF niet in de pagina zelf. Download ' + 'hem in plaats daarvan — ontsleuteld werd hij hoe dan ook hier.', 'group.upload_indexing': 'indexeren…', 'video.err_transport': 'Transport niet verbonden', 'video.err_mse': 'Codec wordt niet ondersteund voor streamen: {codec}', 'video.mode_poster': 'Posters', 'video.mode_flat': 'Platte lijst', 'video.filter_all': 'All', 'video.filter_movies': 'Movies', 'video.filter_series': 'Series', 'video.empty': "Geen video's gevonden.", 'video.no_root_configured': "Er is nog geen hoofdmap voor Video's ingesteld voor deze groep — een operator kan er een kiezen bij Instellingen.", 'music.no_root_configured': 'Er is nog geen hoofdmap voor Muziek ingesteld voor deze groep — een operator kan er een kiezen bij Instellingen.', 'video.director': 'Regisseur', 'video.specials': "Extra's", 'video.season_n': 'Seizoen {n}', 'video.episode_n': 'Aflevering {n}', 'video.n_episodes': { one: '{n} aflevering', other: '{n} afleveringen', }, 'video.fix_match': 'Overeenkomst corrigeren…', 'video.search_title': 'TMDB-overeenkomst corrigeren', 'video.search_placeholder': 'Zoeken in TMDB…', 'video.search_button': 'Zoeken', 'video.search_no_results': 'Geen overeenkomsten gevonden.', 'video.search_apply_hint': 'Geldt voor alle bestanden die momenteel onder deze titel zijn gegroepeerd.', 'video.search_apply_hint_movie': 'Alleen van toepassing op dit bestand.', 'video.source_file': 'Bestand: {name}', 'video.no_match': 'Geen betrouwbare TMDB-match — bestandsnaam wordt getoond.', 'video.rematch_one': 'Opnieuw koppelen', // Muziek 'music.mode_grid': 'Albums', 'music.mode_flat': 'Platte lijst', 'music.empty': 'Geen muziek gevonden.', 'music.unknown_album': 'Onbekend album', 'music.various': 'Diversen', 'music.play_all': 'Alles afspelen', 'music.n_tracks': { one: '{n} nummer', other: '{n} nummers', }, 'music.err_transport': 'Transport niet verbonden', 'music.err_playback': 'Afspeelfout', 'music.err_transcode': 'Formaatconversie mislukt', 'music.player_play': 'Afspelen', 'music.player_pause': 'Pauzeren', 'music.player_prev': 'Vorige', 'music.player_next': 'Volgende', 'music.player_shuffle': 'Shuffle', 'music.player_repeat_off': 'Herhalen uit', 'music.player_repeat_all': 'Alles herhalen', 'music.player_repeat_one': 'Nummer herhalen', 'music.player_volume': 'Volume', 'music.player_close': 'Speler sluiten', 'music.player_queue': 'Huidige wachtrij', 'music.queue_title': 'Nu aan het afspelen', // Photos 'photo.empty': "Geen foto's gevonden.", 'photo.no_roots_configured': "Er zijn nog geen hoofdmappen voor Foto's ingesteld voor deze groep — een operator kan er enkele kiezen bij Instellingen.", 'photo.root_album': '(hoofdniveau)', 'photo.n_photos': { one: '{n} foto', other: "{n} foto's", }, 'photo.back': 'Terug', 'photo.prev': 'Vorige (←)', 'photo.next': 'Volgende (→)', 'photo.zip_album': 'Album downloaden als zip', 'photo.zoom_in': 'Inzoomen', 'photo.zoom_out': 'Uitzoomen', 'photo.zoom_fit_title': 'Passend maken', 'photo.zoom_fit_label': 'Passend', 'photo.zoom_100': 'Werkelijke grootte (100%)', // LAN cast 'cast.start': 'Naar apparaat casten', 'cast.stop': 'Casten stoppen', 'cast.copy_url': 'Stream-URL kopiëren', 'cast.copied': 'URL gekopieerd', 'cast.scanning': 'Apparaten zoeken…', 'cast.no_devices': 'Geen apparaten gevonden', // Settings 'settings.title': 'Instellingen', 'settings.coming_soon': 'Binnenkort beschikbaar.', 'settings.downloads': 'Downloads', 'settings.dl_auto': 'Automatisch opslaan', 'settings.dl_auto_hint': 'Bestanden gaan zonder venster rechtstreeks naar de map die ' + 'u hieronder kiest. Twintig downloads zetten daar twintig bestanden neer.', 'settings.dl_ask': 'Elke keer vragen', 'settings.dl_ask_hint': 'Een venster "Opslaan als" per bestand — één per bestand, ' + 'ook wanneer u een selectie downloadt.', 'settings.dl_folder': 'Map: {name}', 'settings.dl_no_folder': 'Geen map gekozen — downloads komen terecht waar uw browser ' + 'ze neerzet', 'settings.dl_choose': 'Map kiezen', 'settings.dl_change': 'Wijzigen', 'settings.dl_forget': 'Vergeten', 'settings.profile': 'Profiel', 'settings.username': 'Gebruikersnaam', 'settings.email': 'Email', 'settings.email_save': 'Opslaan', 'settings.email_saved': 'E-mail bijgewerkt', 'settings.email_code_sent': 'Er is een verificatiecode naar uw nieuwe e-mailadres gestuurd.', 'settings.email_code_placeholder': 'Verificatiecode', 'settings.email_verify_btn': 'Verifiëren', 'settings.email_verifying': 'Verifiëren…', 'settings.email_verified': 'E-mailadres succesvol gewijzigd.', 'settings.notif_global_disable': 'Alle meldingen uitschakelen', 'settings.notif_global_hint': 'When enabled, no notifications are created for any group.', 'settings.defaults': 'Standaardwaarden', 'settings.default_tab': 'Default tab', 'settings.default_tab_hint': 'Which tab opens first when you enter a group.', 'settings.music_keep_screen_on': 'Keep screen on during music playback', 'settings.music_keep_screen_on_hint': 'Prevents the phone from locking on its own while a track is playing.', 'settings.node_pins': 'Node-identiteiten', 'settings.node_pins_hint': 'De identiteitssleutel van elke node wordt bij de eerste ' + 'verbinding onthouden. Verandert die, dan wordt de verbinding geweigerd — wat ' + 'alleen te verwachten is wanneer een beheerder een node opnieuw installeert. ' + 'Vraag het daar na voordat u ze wist.', 'settings.node_pins_count': { one: '{n} vastgezet', other: '{n} vastgezet', }, 'settings.node_pins_clear': 'Vastgezette identiteiten wissen', 'settings.passphrase': 'Wachtwoordzin', 'settings.passphrase_hint': 'Wijzigt de wachtwoordzin van dit account. Uw identiteitssleutels worden opnieuw verpakt op elke groep waarvan de node online is; een groep waarvan de node offline is, moet daarna opnieuw worden betreden.', 'settings.passphrase_change': 'Wachtwoordzin wijzigen', 'settings.passphrase_current': 'Huidige wachtwoordzin', 'settings.passphrase_new': 'Nieuwe wachtwoordzin', 'settings.passphrase_new_repeat': 'Nieuwe wachtwoordzin herhalen', 'settings.continue': 'Doorgaan', 'settings.done': 'Klaar', 'settings.passphrase_confirm_intro': 'Uw identiteitssleutels worden nu opnieuw verpakt op elke groep waarvan de node bereikbaar is:', 'settings.passphrase_reachable': 'Nu bijgewerkt', 'settings.passphrase_unreachable': 'Niet bereikbaar', 'settings.passphrase_fallback_note': 'Vraag voor een onbereikbare groep de operator ervan om u los te maken en een nieuwe uitnodigingscode te sturen, en treed dan opnieuw toe. Uw bestanden en berichten gaan niet verloren.', 'settings.passphrase_confirm_btn': 'Wijzigen', 'settings.passphrase_working': 'Uw sleutels worden opnieuw verpakt…', 'settings.passphrase_done': 'Wachtwoordzin gewijzigd.', 'settings.passphrase_needs_operator': 'Deze groepen vereisen nog actie — vraag elke operator om u los te maken en een nieuwe code te sturen:', 'settings.pw_too_short': 'De nieuwe wachtwoordzin moet minstens 12 tekens lang zijn.', 'settings.pw_mismatch': 'De twee nieuwe wachtwoordzinnen komen niet overeen.', 'settings.pw_same': 'De nieuwe wachtwoordzin moet verschillen van de huidige.', 'settings.pw_wrong_current': 'De huidige wachtwoordzin is niet juist. Er is niets gewijzigd.', 'settings.recovery': 'Herstelsleutel', 'settings.recovery_hint': 'Voegt aan elke groep een met uw herstelsleutel versleutelde kopie van uw identiteit toe. Doe dit één keer in elke browser die u gebruikt; zonder deze kopie betekent een verloren wachtwoordzin dat u elke groep handmatig opnieuw moet betreden.', 'settings.recovery_loaded': 'Geladen in deze browser — nieuwe groepen zijn automatisch gedekt.', 'settings.recovery_open': 'Herstelsleutel invoeren', 'settings.recovery_input_ph': 'Plak uw herstelsleutel', 'settings.recovery_submit': 'Back-upkopieën toevoegen', 'settings.recovery_working': 'Uw groepen worden bijgewerkt…', 'settings.recovery_done': 'Uw groepen hebben nu een herstelkopie.', 'settings.recovery_partial': 'Deze groepen konden niet worden bereikt. Open ze later, of voer dit opnieuw uit:', 'settings.recovery_need_relogin': 'Meld u af en weer aan en probeer het opnieuw.', 'settings.danger': 'Account verwijderen', 'settings.delete_hint': 'Verwijdert uw account, uw groepslidmaatschappen en uw ' + 'meldingen van de hub, en geeft uw gebruikersnaam vrij. Wat op de nodes staat, ' + 'wordt hiermee niet bereikt: bestanden die u hebt geüpload blijven waar hun ' + 'beheerder ze bewaart, en elke node houdt de voor u vastgezette identiteit tot ' + 'zijn beheerder die weghaalt. Verbindingslogboeken worden een jaar bewaard, zoals ' + 'de wet voorschrijft.', 'settings.delete_account': 'Mijn account verwijderen', 'settings.delete_confirm': 'Voer uw wachtwoordzin in ter bevestiging. Dit kan niet ' + 'ongedaan worden gemaakt.', 'settings.delete_confirm_btn': 'Definitief verwijderen', 'settings.cancel': 'Annuleren', 'settings.appearance': 'Weergave', 'settings.theme': 'Thema', 'settings.theme_light': 'Licht', 'settings.theme_dark': 'Donker', 'settings.theme_system': 'Systeem', 'settings.language': 'Taal', 'settings.about': 'Over', 'firstrun.title': 'Which hub?', 'firstrun.hint': 'A hub holds your account and introduces you to nodes. It never sees your files, your messages or your keys.', 'firstrun.btn': 'Continue', 'firstrun.checking': 'Checking…', 'firstrun.note': 'There is no default on purpose: this application only trusts a hub for its API, never for the interface, which ships with the application itself.', 'device.this_device': 'This device', 'settings.keys_heading': 'Keys on this device', 'settings.hub_heading': 'Hub', 'settings.hub_current': 'Currently', 'settings.hub_hint': 'Changing this signs you out and restarts the window.', 'settings.hub_change': 'Change', 'settings.keys_where': 'Protected by', 'settings.keys_unprotected': 'No system keyring is running, so your keys are encrypted with a key that is not a secret. Anyone who can read this machine’s files can read them. Start a keyring, or treat this device as untrusted.', 'settings.keys_unavailable': 'This system offers no key storage at all, so this device cannot be remembered — you will be asked for your passphrase each time. That is the safe outcome: nothing was stored unprotected.', 'settings.version': 'Versie', 'settings.protocol': 'Protocol', 'settings.role': 'Rol', 'settings.groups': 'Groepsmeldingen', 'settings.notifications': 'Meldingen', 'settings.node_key': 'Node koppelen', 'settings.node_key_desc': 'Als u een MeshBay-node beheert, plak hier dan de ' + 'openbare Ed25519-sleutel ervan om hem aan uw account te koppelen. U vindt die ' + 'sleutel in het beheerdersdashboard van uw node.', 'settings.node_key_placeholder': 'Plak de openbare Ed25519-sleutel van de node (base64)', 'settings.node_key_submit': 'Node koppelen', 'settings.node_key_success': 'Node gekoppeld', 'settings.node_key_current': 'Sleutel van de gekoppelde node', // Sidebar 'sidebar.create_group': 'Groep aanmaken', 'sidebar.settings': 'Instellingen', 'sidebar.admin': 'Beheer', // User menu 'usermenu.language': 'Taal', 'usermenu.settings': 'Instellingen', 'usermenu.theme_light': 'Licht thema', 'usermenu.theme_dark': 'Donker thema', 'usermenu.logout': 'Afmelden', // Admin panel 'admin.title': 'Beheer', 'admin.tab_stats': 'Statistieken', 'admin.tab_users': 'Gebruikers', 'admin.tab_groups': 'Groepen', 'admin.tab_nodes': 'Nodes', 'admin.tab_logs': 'Logboeken', 'admin.col_observed_ip': 'Gezien vanaf', 'admin.col_hint': 'Opgegeven adres', 'admin.col_last_seen': 'Laatste melding', 'admin.node_online': 'online', 'admin.node_offline': 'offline', 'admin.no_nodes': 'Geen nodes geregistreerd', 'admin.nodes_hint': '"Gezien vanaf" is het adres waarvandaan de melding werkelijk ' + 'binnenkwam, in een verzoek dat met de sleutel van de node is ondertekend — dat ' + 'is het adres om een vordering mee te beantwoorden. Het opgegeven adres is wat de ' + 'node zelf denkt te zijn, vernomen van een STUN-server en naar ons gestuurd; het ' + 'helpt de node te bereiken en bewijst niets.', 'admin.tab_blocklist': 'Blokkeerlijst', 'admin.tab_general': "General", 'admin.general_groups_heading': "Groups", 'admin.allow_public_groups_label': "Allow members to create public groups", 'admin.allow_public_groups_hint': "When off, new groups can only be private and invite-only. Existing public groups are left as they are — suspend them one by one from the Groups tab.", 'admin.settings_readonly': "Only an admin can change these settings.", // Admin stats 'admin.stat_users': 'Gebruikers', 'admin.stat_groups': 'Groepen', 'admin.stat_nodes': 'Nodes', 'admin.stat_online': 'Nodes online', // Admin users 'admin.users_search': 'Gebruikers zoeken...', 'admin.col_username': 'Gebruikersnaam', 'admin.col_role': 'Rol', 'admin.col_status': 'Status', 'admin.col_created': 'Aangemaakt', 'admin.col_actions': 'Acties', 'admin.col_email': 'E-mail', 'admin.col_groups': 'Groepen', 'admin.no_users': 'Geen gebruikers gevonden', 'admin.btn_suspend': 'Schorsen', 'admin.btn_unsuspend': 'Herstellen', 'admin.btn_revoke': "Revoke", 'admin.revoke_group_confirm': "Revoke the group \"{group}\"? This pushes a signed revocation to every node hosting it and cannot be undone from here. Suspend it instead if you only need to pause it.", 'admin.btn_details': 'Details', 'admin.btn_delete': 'Verwijderen', 'admin.delete_confirm': 'Het account "{user}" verwijderen? Dit kan niet ongedaan ' + 'worden gemaakt. De bestanden die deze persoon heeft geüpload blijven op de nodes ' + 'die ze hosten, en elke node houdt de vastgezette identiteit tot zijn beheerder ' + 'die weghaalt. Schorsen is de omkeerbare optie.', 'admin.user_detail': 'Gebruikersgegevens', 'admin.btn_close': 'Sluiten', 'admin.self_note': '(u)', // Admin groups 'admin.col_name': 'Naam', 'admin.col_visibility': 'Zichtbaarheid', 'admin.col_members': 'Leden', 'admin.no_groups': 'Geen groepen gevonden', // Admin logs 'admin.col_time': 'Tijd', 'admin.col_event': 'Gebeurtenis', 'admin.col_user': 'Gebruiker', 'admin.col_ip': 'IP', 'admin.col_detail': 'Detail', 'admin.filter_all': 'Alle gebeurtenissen', 'admin.no_logs': 'Geen logboeken gevonden', 'admin.btn_load_more': 'Meer laden', // Admin blocklist 'admin.col_hash': 'Hash', 'admin.col_reason': 'Reden', 'admin.col_date': 'Datum', 'admin.col_added_by': 'Toegevoegd door', 'admin.no_blocked': 'Geen geblokkeerde hashes', 'admin.add_hash': 'Hash aan de blokkeerlijst toevoegen', 'admin.hash_placeholder': 'blake3-hash (64 hexadecimale tekens)', 'admin.reason_placeholder': 'Reden', 'admin.btn_block': 'Blokkeren', 'admin.btn_unblock': 'Deblokkeren', // Notifications // Create group 'create_group.title': 'Groep aanmaken', 'create_group.name': 'Groepsnaam', 'create_group.name_placeholder': 'bijv. Familiefotos, Projectbestanden...', 'create_group.join_policy': 'Toetredingsbeleid', 'create_group.invite': 'Alleen op uitnodiging', 'create_group.invite_desc': "Leden moeten door een beheerder worden uitgenodigd. De groep staat niet in de openbare lijst.", 'create_group.open': 'Open (iedereen kan deelnemen)', 'create_group.open_desc': "Staat bij de openbare groepen — iedereen kan de groep vinden en zonder goedkeuring deelnemen.", 'create_group.description': 'Beschrijving', 'create_group.description_hint': 'Waar gaat deze groep over? (optioneel)', 'create_group.submit': 'Aanmaken', 'create_group.hint': 'Een groep heeft een node nodig om de bestanden te hosten. U ' + 'kunt de groep nu aanmaken en later een node aansluiten.', 'create_group.creating': 'Bezig met aanmaken...', // Members 'members.col_role': 'Rol', 'members.group_role': 'Rol in de groep', 'members.admin': 'Beheerder', 'members.group_admin': 'Groepsbeheerder', 'members.owner': 'Eigenaar', 'members.member': 'Lid', 'members.invite_title': 'Lid uitnodigen', 'members.username_placeholder': 'Gebruikersnaam', 'members.invite_btn': 'Uitnodigen', 'members.invite_needs_pairing': 'Uitnodigingen worden ondertekend met de sleutel die ' + 'deze node voor uw browser heeft vastgezet, dus koppel hem hieronder voordat u ' + 'iemand uitnodigt.', 'members.invite_ask_operator': 'Alleen de beheerder van de node die deze groep host ' + 'kan uitnodigen, vanuit een browser die eraan gekoppeld is.', 'members.remove': 'Verwijderen', 'members.remove_confirm': '{user} uit deze groep verwijderen? Het account, de andere ' + 'groepen en de geüploade bestanden van deze persoon blijven ongemoeid.', 'members.remove_hint': 'Iemand verwijderen neemt het lidmaatschap weg en zorgt ervoor ' + 'dat de node de groepssleutel niet meer aan die persoon geeft. Het account wordt ' + 'er niet mee verwijderd, en de sleutel die de persoon al heeft, komt er niet mee ' + 'terug — roteer die op de node (meshbay-node gek-init) als dat van belang is.', 'members.pair_title': 'Deze browser aan uw node koppelen', 'members.pair_hint': 'Uw node accepteert beheerdersacties — uitnodigingen, bestanden ' + 'verwijderen — alleen vanuit een browser waarmee hij gekoppeld is. Voer op de ' + 'node `meshbay-node operator pair` uit en typ de code hier in. De code gaat nooit ' + 'via de hub.', 'members.pair_btn': 'Koppelen', 'members.pair_success': 'Deze browser is nu aan de node gekoppeld.', 'members.invite_code_ready': 'Uitnodigingscode voor {user}:', 'members.invite_email_sent': 'Er is een e-mail met de code naar dit lid gestuurd.', 'members.invite_email_failed': 'Kon de e-mail niet verzenden — deel de code handmatig.', 'members.invite_code_hint': 'U kunt deze code ook via een ander kanaal delen (bijv. sms). ' + 'De code werkt één keer en gaat nooit via de hub.', 'transfers.title': 'Overdrachten', 'transfers.clear': 'Voltooide wissen', 'transfers.cancel': 'Annuleren', 'transfers.open': 'Openen', 'transfers.done': 'Voltooid', 'transfers.cancelled': 'Geannuleerd', 'transfers.failed': 'Mislukt', 'group.select': 'Selecteren', 'group.select_done': 'Klaar', 'group.actions': 'Acties ({n})', 'group.download_n': 'Downloaden ({n})', 'group.download_zip_n': 'Mappen als zip downloaden ({n})', 'group.delete_n': 'Verwijderen ({n})', 'group.delete_n_confirm': { one: '{n} item verwijderen? {names}', other: '{n} items verwijderen? {names}', }, 'group.download_zip': { one: 'Als zip downloaden ({n} bestand)', other: 'Als zip downloaden ({n} bestanden)', }, 'group.zip_empty': 'Die map bevat niets om te downloaden.', 'group.zip_no_stream': 'Deze browser kan een download niet rechtstreeks naar schijf ' + 'schrijven, dus {name} ({size}) moet eerst in het geheugen worden opgebouwd. Bij ' + 'een groot archief kan dat mislukken. Doorgaan?', 'group.rmdir': 'Map verwijderen', 'group.rmdir_confirm': 'De map "{name}" verwijderen? Ze moet leeg zijn.', 'group.rmdir_not_empty': 'Die map is niet leeg. Verwijder eerst wat erin staat — ' + 'niets hier verwijdert bestanden die u niet ziet.', 'group.desc_edit': 'Beschrijving bewerken', 'group.desc_add': 'Beschrijving toevoegen', 'group.desc_save': 'Opslaan', 'group.desc_cancel': 'Annuleren', 'group.desc_placeholder': 'Waar deze groep voor dient — leden zien dit op hun ' + 'startpagina.', 'group.join_code_title': 'Deze node moet u herkennen', 'group.join_code_hint': 'Vraag degene die u heeft uitgenodigd om de eenmalige code en ' + 'voer die hier in. Daarna is deze browser bekend en wordt het u niet opnieuw ' + 'gevraagd.', 'group.join_code_btn': 'Deelnemen', 'group.pass_title': 'Voer uw wachtwoordzin in', 'group.pass_hint': 'Deze browser heeft uw sleutels nog niet ontgrendeld. Voer uw wachtwoordzin één keer in om uw groepen hier te openen.', 'group.pass_btn': 'Ontgrendelen', 'notif.purge': 'Alles wissen', 'notif.title': 'Meldingen', 'notif.empty': 'Geen meldingen', 'notif.mark_all_read': 'Alles als gelezen markeren', // Sidebar 'sidebar.search': 'Bestanden zoeken', // Status // Search 'search.placeholder': 'In alle groepen zoeken...', 'search.no_results': 'Geen bestand voldoet aan uw zoekopdracht.', 'search.col_group': 'Groep', 'search.result_count': { one: '{n} bestand gevonden', other: '{n} bestanden gevonden', }, 'search.hint': 'Typ een zoekterm om in al uw groepen te zoeken.', 'search.indexing': '{done} / {total} groepen indexeren…', 'search.unreachable': { one: '{n} groep onbereikbaar', other: '{n} groepen onbereikbaar' }, 'search.view_files': 'Bestanden', 'search.view_videos': 'Video\'s', 'search.view_music': 'Muziek', 'search.view_photos': 'Foto\'s', 'search.connecting': 'Verbinding maken met groepen…', // Presence, chat paging, leaving a group, the profile page 'presence.online': 'Een node die deze groep host is online', 'presence.offline': 'Geen node bereikbaar voor deze groep', 'presence.unknown': 'Nog niet gecontroleerd', 'presence.indexing': 'Bezig met indexeren — {pct}%', 'chat.load_older': '{n} oudere berichten laden', 'chat.start_of_history': 'Begin van het gesprek', 'chat.today': 'Vandaag', 'chat.yesterday': 'Gisteren', 'chat.unread': 'Nieuwe berichten', 'chat.jump_latest': 'Naar de nieuwste', 'chat.jump_new': 'Nieuwe berichten', 'group.leave': 'Groep verlaten', 'group.leave_confirm': '„{name}” verlaten? U verliest de toegang tot de bestanden en de chat ervan. Bestanden die u hebt geüpload blijven op de node, en de node houdt de voor u vastgezette identiteit tot zijn beheerder die weghaalt.', 'group.mute': 'Mute notifications', 'group.unmute': 'Unmute notifications', 'profile.title': 'Profiel', 'usermenu.profile': 'Profiel', // First-run setup wizard 'setup.welcome_title': 'Welkom bij MeshBay', 'setup.welcome_message': 'Uw node host uw bestanden — versleuteld, op uw machine. Laten we hem starten en uw eerste groep aanmaken.', 'setup.node_detected': 'Lokale node gedetecteerd en actief.', 'setup.node_not_running': 'Uw node is geïnstalleerd maar draait niet.', 'setup.node_start': 'Node starten', 'setup.node_starting': 'Node wordt gestart…', 'setup.node_started': 'Node gestart.', 'setup.node_not_installed': 'meshbay-node is niet geïnstalleerd op deze machine.', 'setup.node_install_hint': 'Installeer het met uw pakketbeheerder en kom hier terug.', 'setup.skip': 'Overslaan — groep aanmaken zonder lokale node', 'setup.create_group': 'Eerste groep aanmaken', 'setup.dismiss': 'Installatie overslaan', // Group 'group.retry': 'Opnieuw proberen', // Sidebar 'sidebar.node': 'Node', // Node admin 'node.title': 'Node', 'node.service_checking': 'Node-service controleren…', 'node.service_not_installed': 'Niet als service geïnstalleerd', 'node.service_state_active': 'Actief', 'node.service_state_inactive': 'Gestopt', 'node.service_state_failed': 'Mislukt', 'node.service_state_activating': 'Starten…', 'node.service_state_deactivating': 'Stoppen…', 'node.service_state_unknown': 'Onbekend', 'node.service_start': 'Starten', 'node.service_starting': 'Starten…', 'node.service_stop': 'Stoppen', 'node.service_stopping': 'Stoppen…', 'node.service_restart': 'Herstarten', 'node.service_restarting': 'Herstarten…', 'node.not_operator': 'Uw node is niet bereikbaar. Controleer of hij draait.', 'node.offline': 'Node is offline', 'node.retry': 'Opnieuw proberen', 'node.pair_needed': 'Geen operator gekoppeld. Voer een koppelingscode in om beheeracties (uitnodigingen, bestandsverwijdering) in te schakelen.', 'node.pair_code_placeholder': 'Koppelingscode', 'node.pair_button': 'Deze browser koppelen', 'node.pair_success': 'Succesvol gekoppeld.', 'node.reload': 'Configuratie herladen', 'node.reloaded': 'Configuratie herladen. Mapwijzigingen op bestaande groepen zijn nu actief.', 'node.restart_needed': 'Na het toevoegen: initialiseer de groepssleutel (meshbay-node gek-init --group ).', 'node.no_groups': 'Geen groepen geconfigureerd op deze node.', 'node.stale': 'niet op hub', 'node.settings': 'Node settings', 'node.settings_edit_hint': 'Changes are applied immediately and saved to node.toml.', 'node.settings_save': 'Save', 'node.settings_saving': 'Saving…', 'node.settings_saved': 'Settings saved.', 'node.setting_invite_ttl': 'Invitation TTL', 'node.setting_pair_ttl': 'Pairing code TTL', 'node.setting_device_ttl': 'Device request TTL', 'node.setting_max_streams': 'Max concurrent streams', 'node.setting_transcode': 'Transcode incompatible video', 'node.setting_unit_hours': 'hours', 'node.setting_unit_minutes': 'min', 'node.setting_on': 'On', 'node.setting_off': 'Off', 'node.unavailable': 'niet beschikbaar', 'node.files': { one: '1 bestand', other: '{n} bestanden', }, 'node.peers': { one: '1 peer', other: '{n} peers', }, 'node.roots': 'Mappen', 'node.add_root': 'Map toevoegen', 'node.remove_root': 'Verwijderen', 'node.root_added': 'Map toegevoegd.', 'node.root_remove_confirm': '„{name}" uit deze groep verwijderen?', 'node.root_removed': 'Map verwijderd. Herstart aanbevolen om de index bij te werken.', 'node.upload_root': 'uploads', 'node.attach_group': 'Groep toevoegen', 'node.attach_pick': 'Groep om te hosten', 'node.attach_dir': 'Gedeelde map', 'node.attach_upload_dir': 'Uploadmap', 'node.attach_upload_label': 'Uploadmap (voor bestandsuploads en chatbijlagen)', 'node.attached': 'Groep toegevoegd en geladen. Voer meshbay-node gek-init --group {name} uit als dat nog niet is gebeurd.', 'node.detach_group': 'Groep verwijderen', 'node.detach_confirm': '„{name}" van deze node verwijderen?', 'node.detached': 'Groep verwijderd.', 'node.gek': 'Groepssleutel', 'node.no_gek': 'Geen groepssleutel', 'node.gek_init_hint': 'Nog geen groepssleutel. Voer GEK init uit via de CLI om er een in te stellen.', 'node.gek_public_hint': 'Sleutelrotatie is niet beschikbaar voor openbare groepen.', 'node.gek_rotate': 'Groepssleutel roteren', 'node.gek_rotate_confirm': 'De groepssleutel roteren? Verbonden leden ontvangen de nieuwe sleutel automatisch. Reeds gedownloade inhoud wordt niet beïnvloed.', 'node.gek_rotated': 'Groepssleutel geroteerd.', 'node.roster': 'Ledenlijst', 'node.roster_load': 'Ledenlijst laden', 'node.roster_empty': 'Nog geen leden vastgezet.', 'node.roster_user': 'Gebruiker', 'node.roster_role': 'Rol', 'node.roster_status': 'Status', 'node.roster_via': 'Vastgezet via', 'node.roster_invites': { one: '1 openstaande uitnodiging', other: '{n} openstaande uitnodigingen', }, 'node.unpin': 'Losmaken', 'node.unpin_confirm': '„{name}" losmaken? Diegene moet opnieuw koppelen.', 'node.unpin_done': 'Identiteit losgemaakt.', 'node.denylist': 'Blokkeerlijst', 'node.denylist_load': 'Blokkeerlijst laden', 'node.denylist_empty': 'De blokkeerlijst is leeg.', 'node.denylist_count': { one: '1 vermelding', other: '{n} vermeldingen', }, 'node.denylist_remove': 'Verwijderen', 'node.denylist_clear_all': 'Alles wissen', 'node.denylist_clear_confirm': '„{subject}" van de blokkeerlijst verwijderen?', 'node.denylist_cleared': 'Vermelding van de blokkeerlijst verwijderd.', // Node settings 'settings_node.detach_failed_continue': 'Kon de groep niet van de node loskoppelen. Toch op de hub verwijderen?', 'settings_node.roots': 'Gedeelde mappen', 'settings_node.scan_title': 'Scannen', 'settings_node.scan_hint': 'Hoe vaak de node zijn mappen opnieuw controleert op wijzigingen die zijn gemist, en hoe lang hij na een wijziging wacht voordat een bestand wordt geïndexeerd.', 'settings_node.scan_reconcile_label': 'Controle-interval (minuten)', 'settings_node.scan_debounce_label': 'Wachttijd na een wijziging (seconden)', 'settings_node.scan_save': 'Opslaan', 'settings_node.scan_saving': 'Bezig met opslaan…', 'settings_node.scan_saved': 'Opgeslagen.', 'settings_node.tmdb_title': 'TMDB-metadata', 'settings_node.tmdb_hint': "Laat de Video's-app posters, samenvattingen en cast van TMDB tonen. Uit betekent alleen miniaturen, zonder enig verzoek aan een derde partij.", 'settings_node.tmdb_enabled': 'Ingeschakeld', 'settings_node.tmdb_disabled': 'Uitgeschakeld', 'settings_node.tmdb_token_label': 'Eigen API-token (optioneel)', 'settings_node.tmdb_token_placeholder': 'Leeg laten om de meegeleverde standaard te gebruiken', 'settings_node.tmdb_token_customized': 'Er is een eigen token ingesteld.', 'settings_node.tmdb_token_default': 'Gebruikt de meegeleverde standaardtoken.', 'settings_node.tmdb_save': 'Opslaan', 'settings_node.tmdb_language_label': 'Taal', 'settings_node.tmdb_language_hint': 'Geldt voor iedereen — één gedeelde cache, geen verzoek per kijker.', 'settings_node.video_root_title': "Hoofdmap voor Video's", 'settings_node.video_root_hint': "Welke map (of submap) de Video's-app als startpunt gebruikt voor deze groep. Er wordt niets getoond in Video's, en er worden geen TMDB-opzoekingen uitgevoerd, totdat er een gekozen is.", 'settings_node.video_root_none': '— geen gekozen —', 'settings_node.musicbrainz_title': 'MusicBrainz-metadata', 'settings_node.musicbrainz_hint': "Laat de Muziek-app hoesfoto's en canonieke namen van MusicBrainz tonen wanneer een nummer geen bruikbare ingesloten hoes heeft. Uit betekent alleen bladeren op tag/bestandsnaam, zonder verzoek aan derden.", 'settings_node.musicbrainz_enabled': 'Ingeschakeld', 'settings_node.musicbrainz_disabled': 'Uitgeschakeld', 'settings_node.video_root_save': 'Opslaan', 'settings_node.video_root_change_confirm': "Het wijzigen van de hoofdmap voor Video's vervangt wat elk lid ziet in het tabblad Video's. Doorgaan?", 'settings_node.audio_root_title': 'Hoofdmap voor Muziek', 'settings_node.audio_root_hint': 'Welke map (of submap) de Muziek-app als startpunt gebruikt voor deze groep. Er wordt niets getoond in Muziek, en er worden geen tags/covers gelezen, totdat er een gekozen is.', 'settings_node.audio_root_none': '— geen gekozen —', 'settings_node.audio_root_save': 'Opslaan', 'settings_node.audio_root_change_confirm': 'Het wijzigen van de hoofdmap voor Muziek vervangt wat elk lid ziet in het tabblad Muziek. Doorgaan?', 'settings_node.photo_roots_title': "Hoofdmappen voor Foto's", 'settings_node.photo_roots_hint': "Welke map(pen) de Foto's-app als startpunt gebruikt voor deze groep — een fotobibliotheek is vaak over meerdere mappen verspreid, dus er kunnen er meerdere gekozen worden. Er wordt niets getoond in Foto's totdat er minstens één is toegevoegd.", 'settings_node.photo_roots_none': '— geen gekozen —', 'settings_node.photo_roots_add_placeholder': 'Map toevoegen…', 'settings_node.photo_roots_add': 'Toevoegen', 'settings_node.photo_roots_remove': 'Verwijderen', 'settings_node.photo_roots_save': 'Opslaan', 'settings_node.directories_title': 'Mappen', 'settings_node.directories_hint': 'Gedeelde mappen, en welke daarvan de Video\'s-, Muziek- en Foto\'s-apps als eigen startpunt(en) gebruiken.', // Create group wizard 'wizard.title': 'Groep aanmaken', 'wizard.detecting': 'Lokale node wordt gedetecteerd…', 'wizard.node_not_found': 'Geen lokale node gedetecteerd. Controleer of meshbay-node draait.', 'wizard.node_offline_warning': 'Node draait niet. De groep wordt alleen op de hub aangemaakt. U kunt de node later verbinden via de Node-pagina.', 'wizard.retry': 'Opnieuw proberen', 'wizard.wrong_account': 'De node draait, maar de geconfigureerde gebruikersnaam komt niet overeen met uw account. Controleer hub.username in node.toml.', 'wizard.skip_node': 'Doorgaan zonder node', 'wizard.directories': 'Gedeelde mappen', 'wizard.directories_hint': 'Kies de mappen die deze groep deelt. Minimaal één is vereist.', 'wizard.add_directory': 'Map toevoegen', 'wizard.remove': 'Verwijderen', 'wizard.set_upload': 'Instellen als uploaddoel', 'wizard.upload_target': 'uploaddoel', 'wizard.create_and_setup': 'Aanmaken en instellen', 'wizard.create_hub_only': 'Alleen op hub aanmaken', 'wizard.setting_up': 'Uw groep wordt ingesteld…', 'wizard.step_create_hub': 'Groep aanmaken op hub', 'wizard.step_attach': 'Koppelen aan node', 'wizard.step_apps': 'Apps kiezen', 'wizard.step_add_roots': 'Mappen toevoegen', 'wizard.step_gek': 'Versleutelingssleutel initialiseren', 'wizard.step_pair': 'Koppeling instellen', 'wizard.step_index': 'Bestanden indexeren', 'wizard.indexing_progress': 'Bezig met indexeren… {pct}%', 'wizard.indexing_current_dir': 'Scannen: {dir}', 'wizard.done_title': 'Groep aangemaakt', 'wizard.done_message': 'Uw groep is klaar. Uw node host de groep en de versleuteling is ingesteld.', 'wizard.go_to_group': 'Naar groep', 'wizard.finish_later': 'Later voltooien', 'node.stun_servers': 'STUN Servers', 'node.stun_hint': 'Servers used for WebRTC NAT traversal (ICE candidate gathering).', 'node.stun_add': 'Add', 'node.stun_add_placeholder': 'stun:host:port', 'node.stun_remove': 'Remove', 'node.stun_move_up': 'Move up', 'node.stun_move_down': 'Move down', 'node.stun_save': 'Save', 'node.stun_saving': 'Saving…', 'node.stun_saved': 'STUN servers saved.', 'node.stun_reset': 'Reset to defaults', 'node.stun_empty': 'No STUN servers configured. NAT traversal will not work.', 'node.stun_duplicate': 'This server is already in the list.', 'node.stun_invalid': 'STUN URL must start with stun:', 'node.ice_interfaces': 'ICE Interfaces', 'node.ice_auto_hint': 'Auto mode — virtual and VPN interfaces (Tailscale, Docker, libvirt, etc.) are excluded automatically.', 'node.ice_manual_hint': 'Manual mode — only the listed interfaces are used for ICE candidate gathering.', 'node.ice_add': 'Add', 'node.ice_add_placeholder': 'e.g. eth0, wlp0s20f3', 'node.ice_remove': 'Remove', 'node.ice_save': 'Save', 'node.ice_saving': 'Saving…', 'node.ice_saved': 'ICE interfaces saved.', 'node.ice_reset_auto': 'Switch to auto', 'node.ice_duplicate': 'This interface is already in the list.', };