#
# 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=Topology

# Message when no devices are connected
no_devices_are_connected=No Devices Are Connected

# Action Key Toolbar Tooltips ...
tbtt_tog_instances=Toggle ONOS instances panel
tbtt_tog_summary=Toggle ONOS summary panel
tbtt_tog_use_detail=Disable / enable details panel
tbtt_tog_host=Toggle host visibility
tbtt_tog_offline=Toggle offline visibility
tbtt_tog_porthi=Toggle port highlighting
tbtt_bad_links=Show bad links
tbtt_tog_map=Toggle background geo map
tbtt_sel_map=Select background geo map
tbtt_tog_sprite=Toggle sprite layer
tbtt_reset_loc=Reset node locations
tbtt_tog_oblique=Toggle oblique view (experimental)
tbtt_cyc_layers=Cycle node layers
tbtt_cyc_dev_labs=Cycle device labels
tbtt_cyc_host_labs=Cycle host labels
tbtt_unpin_node=Unpin node (hover mouse over)
tbtt_reset_zoom=Reset pan / zoom
tbtt_tog_toolbar=Toggle Toolbar
tbtt_eq_master=Equalize mastership roles

# Quick Help Gestures
qh_gest_click=Select the item and show details
qh_gest_shift_click=Toggle selection state
qh_gest_drag=Reposition (and pin) device / host
qh_gest_cmd_scroll=Zoom in / out
qh_gest_cmd_drag=Pan

# Flash Messages
fl_background_map=background map
fl_sprite_layer=sprite layer
fl_pan_zoom_reset=Pan and zoom reset
fl_eq_masters=Equalizing master roles

fl_device_labels_hide=Hide device labels
fl_device_labels_show_friendly=Show friendly device labels
fl_device_labels_show_id=Show device ID labels
fl_host_labels_show_friendly=Show friendly host labels
fl_host_labels_show_ip=Show host IP addresses
fl_host_labels_show_mac=Show host MAC addresses

fl_offline_devices=Offline Devices
fl_bad_links=Bad Links
fl_reset_node_locations=Reset Node Locations

fl_layer_all=All Layers Shown
fl_layer_pkt=Packet Layer Shown
fl_layer_opt=Optical Layer Shown

fl_panel_instances=Instances Panel
fl_panel_summary=Summary Panel
fl_panel_details=Details Panel

fl_port_highlighting=Port Highlighting

fl_oblique_view=Oblique View
fl_normal_view=Normal View

fl_monitoring_canceled=Monitoring Canceled
fl_selecting_intent=Selecting Intent

# Core Overlays
ov_tt_protected_intents=Protected Intents Overlay
ov_tt_traffic=Traffic Overlay
ov_tt_none=No Overlay

# Traffic Overlay
tr_btn_create_h2h_flow=Create Host-to-Host Flow
tr_btn_create_msrc_flow=Create Multi-Source Flow
tr_btn_show_device_flows=Show Device Flows
tr_btn_show_related_traffic=Show Related Traffic
tr_btn_cancel_monitoring=Cancel traffic monitoring
tr_btn_monitor_all=Monitor all traffic
tr_btn_show_dev_link_flows=Show device link flows
tr_btn_show_all_rel_intents=Show all related intents
tr_btn_show_prev_rel_intent=Show previous related intent
tr_btn_show_next_rel_intent=Show next related intent
tr_btn_monitor_sel_intent=Monitor traffic of selected intent
tr_fl_fstats_bytes=Flow Stats (bytes)
tr_fl_pstats_bits=Port Stats (bits / second)
tr_fl_pstats_pkts=Port Stats (packets / second)
tr_fl_dev_flows=Device Flows
tr_fl_rel_paths=Related Paths
tr_fl_prev_rel_int=Previous related intent
tr_fl_next_rel_int=Next related intent
tr_fl_traf_on_path=Traffic on Selected Path
tr_fl_h2h_flow_added=Host-to-Host flow added
tr_fl_multisrc_flow=Multi-Source Flow

# Button tooltips
btn_show_view_device=Show Device View
btn_show_view_flow=Show Flow View for this Device
btn_show_view_port=Show Port View for this Device
btn_show_view_group=Show Group View for this Device
btn_show_view_meter=Show Meter View for this Device

# Panel Titles
title_select_map=Select Map
title_panel_summary=ONOS Summary
title_selected_items=Selected Items
title_edge_link=Edge Link
title_infra_link=Infrastructure Link

# Custom Panel Labels / Values
lp_label_friendly=Friendly

lp_label_a_type=A type
lp_label_a_id=A id
lp_label_a_friendly=A friendly
lp_label_a_port=A port

lp_label_b_type=B type
lp_label_b_id=B id
lp_label_b_friendly=B friendly
lp_label_b_port=B port

lp_label_a2b=A to B
lp_label_b2a=B to A

lp_value_no_link=[no link]

