#
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#

# Text that appears in the navigation panel
nav_item_topo=Topologie

# Message when no devices are connected
no_devices_are_connected=Geen apparaten verbonden

# Action Key Toolbar Tooltips ...
tbtt_tog_instances=Toon/verberg ONOS Instanties-paneel
tbtt_tog_summary=Toon/verberg ONOS Overzichtspaneel
tbtt_tog_use_detail=Toon/verberg Details-paneel
tbtt_tog_host=Toon/verberg eindpunten
tbtt_tog_offline=Toon/verberg onbereikbare apparaten
tbtt_tog_porthi=Toon/verberg poortinformatie
tbtt_bad_links=Toon/verberg slechte verbindingen
tbtt_tog_map=Toon/verberg geografische achtergrondkaart
tbtt_sel_map=Selecteer geografische achtergrondkaart
tbtt_tog_sprite=Toon/verberg afbeeldingslaag
tbtt_reset_loc=Herstel knooppuntlocaties
tbtt_tog_oblique=Toon/verberg doorzichtige lagen (experimenteel)
tbtt_cyc_layers=Doorloop knooplagen
tbtt_cyc_dev_labs=Doorloop knooplabels
tbtt_cyc_host_labs=Doorloop eindpuntlabels
tbtt_unpin_node=Maak node los (beweeg er met de muiswijzer overheen)
tbtt_reset_zoom=Herstel verschuiven/zoom
tbtt_tog_toolbar=Toon/verberg taakbalk
tbtt_eq_master=Herverdeel eigenaarschap

# Quick Help Gestures
qh_gest_click=Selecteer het onderdeel en toon details
qh_gest_shift_click=Wijzig selectiestatus
qh_gest_drag=Herpositioneer knoop of eindpunt
qh_gest_cmd_scroll=Zoom in/uit
qh_gest_cmd_drag=Verschuif

# Flash Messages
fl_background_map=achtergrondkaart
fl_sprite_layer=afbeeldingslaag
fl_pan_zoom_reset=Verschuiven en zoomen ongedaan gemaakt
fl_eq_masters=Eigenaarschap herverdeeld

fl_device_labels_hide=Verberg knooplabels
fl_device_labels_show_friendly=Toon korte knooplabels
fl_device_labels_show_id=Toon knoop ID-labels
fl_host_labels_show_friendly=Toon korte eindpuntlabels
fl_host_labels_show_ip=Toon eindpunt IP-adressen
fl_host_labels_show_mac=Toon eindpunt MAC-adressen
fl_host_labels_hide=Verberg eindpuntlabels

fl_offline_devices=Onbereikbare knopen
fl_bad_links=Slechte verbindingen
fl_reset_node_locations=Herstel Instantielocaties

fl_layer_all=Alle lagen aan
fl_layer_pkt=Pakket laag aan
fl_layer_opt=Optische laag aan

fl_panel_instances=Instanties-paneel
fl_panel_summary=Overzichtspaneel
fl_panel_details=Details-paneel

fl_port_highlighting=poortinformatie

fl_oblique_view=Doorzichtige lagen aan
fl_normal_view=Normaal beeld

fl_monitoring_canceled=Monitoren geannuleerd
fl_selecting_intent=Intentie selecteren

# Core Overlays
ov_tt_protected_intents=Beschermde Intenties bovenlaag
ov_tt_traffic=Verkeersbovenlaag
ov_tt_none=Verberg bovenlaag

# Traffic Overlay
tr_btn_create_h2h_flow=Creëer connectie van eindpunt naar eindpunt
tr_btn_create_msrc_flow=Creëer Multi-Bron connectie
tr_btn_show_device_flows=Toon knoopconnecties
tr_btn_show_related_traffic=Toon gerelateerd verkeer
tr_btn_cancel_monitoring=Annuleer monitoren van verkeer
tr_btn_monitor_all=Monitor al het verkeer
tr_btn_show_dev_link_flows=Toon connecties over knoopverbindingen
tr_btn_show_all_rel_intents=Toon alle gerelateerde intenties
tr_btn_show_prev_rel_intent=Toon vorige gerelateerde intentie
tr_btn_show_next_rel_intent=Toon volgende gerelateerde intentie
tr_btn_monitor_sel_intent=Monitor verkeer van de geselecteerde intentie
tr_fl_fstats_bytes=Connectie statistieken (bytes)
tr_fl_pstats_bits=Poort statistieken (bits per seconde)
tr_fl_pstats_pkts=Poort statistieken (pakketten per seconde)
tr_fl_dev_flows=Knoopconnecties
tr_fl_rel_paths=Gerelateerde intenties
tr_fl_prev_rel_int=Vorige gerelateerde intentie
tr_fl_next_rel_int=Volgende gerelateerde intentie
tr_fl_traf_on_path=Verkeer op de geselecteerde intentie
tr_fl_h2h_flow_added=Connectie van eindpunt naar eindpunt toegevoegd
tr_fl_multisrc_flow=Multi-Bron connectie

# Button tooltips
btn_show_view_device=Naar knooplijst
btn_show_view_flow=Naar connectielijst van deze knoop
btn_show_view_port=Naar poortlijst van deze knoop
btn_show_view_group=Naar groeplijst van deze knoop
btn_show_view_meter=Naar meterlijst van deze knoop

# Panel Titles
title_select_map=Selecteer een kaart
title_panel_summary=ONOS Overzicht
title_selected_items=Geselecteerde onderdelen
title_edge_link=Eindverbinding
title_infra_link=Infrastructuurverbinding

# Custom Panel Labels / Values
lp_label_friendly=Korte naam

lp_label_a_type=A type
lp_label_a_id=A ID
lp_label_a_friendly=A naam
lp_label_a_port=A poort

lp_label_b_type=B type
lp_label_b_id=B ID
lp_label_b_friendly=B naam
lp_label_b_port=B poort

lp_label_a2b=A naar B
lp_label_b2a=B naar A

lp_value_no_link=[geen verbinding]

