summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
blob: cb36d38ef97291d36e1e301511f2687a0acfd226 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
/**
 * 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',
  'nav.minimize_tray': 'Minimaliseren naar systeemvak',
  'tray.show': 'MeshBay tonen',
  'tray.quit': 'Afsluiten',
  'tray.start_node': 'Node starten',
  'tray.stop_node': 'Node stoppen',

  // 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.',
  '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.',
  'captcha.required': 'Vul de captcha in.',
  'captcha.failed': 'Captchaverificatie mislukt — probeer het opnieuw.',

  // 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.invite_only': '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.root_plug': 'Aansluiten',
  'group.root_eject': 'Uitwerpen',
  'group.root_writable': 'Lezen/schrijven',
  'group.root_ejected': '(uitgeworpen)',
  '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',
  'chat.attach_read_only': 'Geen beschrijfbare gedeelde map — bijlagen staan uit',

  // 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',
  'video.read_more': 'Meer lezen',
  'video.read_less': 'Minder tonen',

  // 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.n_sources': { one: '{n} bron', other: '{n} bronnen' },
  '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.service_mode_hint': 'Actief als achtergrondservice — start bij het opstarten, vóór het aanmelden.',
  'node.startup_mode_label': 'Automatisch starten:',
  'node.startup_mode_off': 'Uit (handmatig starten)',
  'node.startup_mode_signin': 'Bij aanmelden',
  'node.startup_mode_service': 'Als achtergrondservice (start bij het opstarten)',
  'node.startup_mode_updating': 'Modus wijzigen — let op een beheerdersprompt…',
  'node.startup_mode_service_unavailable_hint': 'Achtergrondservice-modus vereist een geïnstalleerde build. Voer voor lokaal testen "meshbay-node service install" uit vanuit een PowerShell met beheerdersrechten.',
  '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 <naam>).',
  '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_no_signing_key': 'Geen ondertekeningssleutel beschikbaar — koppel dit apparaat eerst aan de node',
  'node.root_no_route': 'Geen route naar de node — maak verbinding, of gebruik de app op de machine die hem host',
  'node.root_remove_last': 'Een groep heeft minstens één map nodig',
  'node.root_path_hint': 'Het pad zoals de node het ziet, op de machine die deze groep host.',
  'node.root_path_placeholder': '/home/user/Media',
  'node.root_path': 'Pad',
  'node.directory': 'Map',
  '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.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.shared_directories_title': 'Gedeelde mappen',
  'settings_node.shared_directories_hint': 'Mappen gedeeld met deze groep. Schakel lezen-schrijven in om uploads toe te staan, markeer als verwijderbaar voor externe schijven.',
  'folder_tree.title_single': 'Kies een map',
  'folder_tree.title_multi': 'Kies mappen',
  'folder_tree.choose': 'Kiezen…',
  'folder_tree.remove': 'Verwijderen',
  'folder_tree.add': 'Map toevoegen…',
  'folder_tree.confirm': 'Gebruiken',
  'folder_tree.expand': 'Uitklappen',
  'folder_tree.collapse': 'Inklappen',
  'folder_tree.nothing_selected': 'Niets geselecteerd',
  'folder_tree.empty': 'Deze groep heeft nog geen gedeelde mappen.',
  'folder_tree.writable_only': 'Hier zijn alleen lees-schrijfmappen te kiezen — er wordt in geschreven.',
  'folder_tree.no_writable_root': 'Deze groep heeft geen beschrijfbare map. Zet er eerst één op lezen-schrijven bij Gedeelde mappen.',
  'folder_tree.read_only_blocked': 'Alleen-lezen — kan niet worden beschreven',
  'settings_app.save': 'Opslaan',
  'settings_app.saving': 'Opslaan…',
  'settings_app.disabled_hint': 'Zet deze app aan om hem in te stellen.',
  'settings_app.video_directories_label': 'Videomappen',
  'settings_app.video_directories_hint': 'Waar de films en series van deze groep staan. Niets daarbuiten verschijnt op het tabblad Video\'s.',
  'settings_app.music_directories_label': 'Muziekmappen',
  'settings_app.music_directories_hint': 'Waar de albums van deze groep staan. Niets daarbuiten verschijnt op het tabblad Muziek.',
  'settings_app.photo_directories_label': 'Fotomappen',
  'settings_app.photo_directories_hint': 'Waar de albums van deze groep staan. Niets daarbuiten verschijnt op het tabblad Foto\'s.',
  'settings_app.chat_directory_label': 'Map voor bijlagen',
  'settings_app.chat_directory_hint': 'Waar in de chat verstuurde bestanden worden geschreven. Moet een lees-schrijfmap zijn.',
  'settings_app.chat_no_writable_root': 'Deze groep heeft geen beschrijfbare map, dus bijlagen staan uit.',
  'settings_app.chat_link_preview_label': 'Linkvoorbeelden',
  'settings_app.chat_link_preview_hint': 'Als een lid een link plaatst, haalt de node de titel en afbeelding van de pagina op. Dat is een verzoek vanaf uw machine naar een site die iemand anders koos.',
  'settings_app.tmdb_token_prompt': 'Meld u aan bij TMDB om uw eigen API-sleutel te maken.',
  'settings_app.tmdb_token_link': 'Sleutel ophalen',
  'settings_node.roots_offline_hint': 'Niet verbonden met de node — wijzigingen gaan via de lokale node en worden bij de volgende herlaadbeurt actief.',
  'settings_node.roots_node_too_old': 'Deze node is ouder dan deze pagina: hij kan zijn mappen tonen maar hier niet wijzigen. Werk hem bij, of gebruik de meshbay-node root-opdrachten.',
  'settings_node.app_node_too_old': 'Deze node is ouder dan deze pagina en heeft nog geen instelling voor deze app. Werk hem bij om die hier in te stellen.',
  'settings_node.directories_title': 'App-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. Nodig nu leden uit via het tabblad Instellingen.',
  '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.',
  'node.overview': 'Overview',
  'node.overview_version': 'Version',
  'node.overview_node_id': 'Node ID',
  'node.overview_quic_port': 'QUIC port',
  'node.overview_hub': 'Hub',
  'node.node_roster': 'Node roster',
  'node.node_roster_hint': 'Every identity this node recognises, across all groups.',
  'node.roster_scope': 'Scope',
  'node.roster_scope_node': 'node-wide',
  'node.peers_title': 'Connected peers',
  'node.peers_empty': 'No peers connected.',
  'node.peers_user': 'User',
  'node.peers_ip': 'IP',
  'node.peers_group': 'Group',
  'node.peers_state': 'State',
  'node.audit_title': 'Audit log',
  'node.audit_all_events': 'All events',
  'node.audit_empty': 'No audit entries.',
  'node.audit_time': 'Time',
  'node.audit_event': 'Event',
  'node.audit_user': 'User',
  'node.audit_ip': 'IP',
  'node.audit_group': 'Group',
  'node.audit_detail': 'Detail',
  'node.maintenance': 'Maintenance',
  'node.maintenance_cache': 'Index cache: {n} path(s) remembered.',
  'node.maintenance_prune': 'Prune stale entries',
  'node.maintenance_pruned': 'Pruned {n} stale cache entries.',
  'node.loading': 'Loading…',
  'node.audit_export': 'Export CSV',
  'node.audit_exporting': 'Exporting…',
  'node.audit_prev': 'Previous',
  'node.audit_next': 'Next',
  'node.audit_page': 'Page {n}',
  'node.audit_exported': 'Exported {n} entries.',
  'node.unlink_title': 'Unlink from hub',
  'node.unlink_hint': 'Stops the hub from brokering connections to this node and listing it for group members. Your groups, keys, roster and files are untouched — the node keeps serving anyone who reaches it directly. Re-link any time from the group wizard or your profile.',
  'node.unlink_button': 'Unlink this node',
  'node.unlink_confirm': 'Unlink this node from the hub? The hub will stop routing members to it. Group data on disk is not affected.',
  'node.unlink_done': 'Node unlinked from the hub. It may take a moment for the hub connection to drop.',
  'node.tab_overview': 'Overview',
  'node.tab_groups': 'Groups',
  'node.tab_roster': 'Roster',
  'node.tab_peers': 'Peers',
  'node.tab_audit': 'Audit',
  'node.tab_settings': 'Settings',
  'node.root_rw': 'lezen-schrijven',
  'node.root_ro': 'alleen-lezen',
  'node.removable': 'verwijderbaar',
};