#
# 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=拓扑

# Message when no devices are connected
no_devices_are_connected=没有连接的设备

# Action Key Toolbar Tooltips ...
tbtt_tog_instances=切换ONOS实例面板
tbtt_tog_summary=切换ONOS摘要面板
tbtt_tog_use_detail=禁用/启用详细信息面板
tbtt_tog_host=是否显示主机
tbtt_tog_offline=是否显示离线主机
tbtt_tog_porthi=是否高亮端口
tbtt_bad_links=显示失效链路
tbtt_tog_map=是否显示背景地图
tbtt_sel_map=选择背景地图
tbtt_tog_sprite=切换sprite图层
tbtt_reset_loc=重置节点位置
tbtt_tog_oblique=切换至多层次视角(实验功能)
tbtt_cyc_layers=循环节点图层
tbtt_cyc_dev_labs=循环设备标签
tbtt_cyc_host_labs=循环主机标签
tbtt_unpin_node=解除节点锁定 (鼠标悬浮)
tbtt_reset_zoom=重置平移 / 缩放
tbtt_tog_toolbar=是否显示工具栏
tbtt_eq_master=均衡Master角色

# Quick Help Gestures
qh_gest_click=选择项目并显示细节
qh_gest_shift_click=切换选择状态
qh_gest_drag=重新定位（和固定）设备/主机
qh_gest_cmd_scroll=放大 / 缩小
qh_gest_cmd_drag=平移

# Flash Messages
fl_background_map=背景地图
fl_sprite_layer=Sprite图层
fl_pan_zoom_reset=平移和缩放重置
fl_eq_masters=均衡master角色

fl_device_labels_hide=隐藏设备标签
fl_device_labels_show_friendly=显示友好的设备标签
fl_device_labels_show_id=显示设备ID标签
fl_host_labels_show_friendly=显示友好的主机标签
fl_host_labels_show_ip=显示主机IP地址
fl_host_labels_show_mac=显示主机MAC地址

fl_offline_devices=离线设备
fl_bad_links=失效链路
fl_reset_node_locations=重置节点位置

fl_layer_all=显示所有图层
fl_layer_pkt=显示分组层
fl_layer_opt=显示光学层

fl_panel_instances=实例面板

fl_panel_summary=摘要面板
fl_panel_details=详细面板
fl_port_highlighting=端口高亮显示

fl_oblique_view=多层次视图
fl_normal_view=普通视图

fl_monitoring_canceled=监控取消
fl_selecting_intent=正在选择intent

# Core Overlays
ov_tt_protected_intents=受保护的intents叠加
ov_tt_traffic=流量叠加
ov_tt_none=无

# Traffic Overlay
tr_btn_create_h2h_flow=创建主机到主机的流表
tr_btn_create_msrc_flow=创建多重来源流表
tr_btn_show_device_flows=显示设备流表
tr_btn_show_related_traffic=显示相关流量
tr_btn_cancel_monitoring=取消流量监控
tr_btn_monitor_all=监控所有流量
tr_btn_show_dev_link_flows=显示设备连接流表
tr_btn_show_all_rel_intents=显示所有相关的intents
tr_btn_show_prev_rel_intent=显示上一个相关的intent
tr_btn_show_next_rel_intent=显示下一个相关的intent
tr_btn_monitor_sel_intent=监控选定intent的流量
tr_fl_fstats_bytes=流量统计 (字节)
tr_fl_pstats_bits=端口计数 (比特 / 秒)
tr_fl_pstats_pkts=端口计数 (包 / 秒)
tr_fl_dev_flows=设备流表
tr_fl_rel_paths=相关路径
tr_fl_prev_rel_int=上一个相关 intent
tr_fl_next_rel_int=下一个相关 intent
tr_fl_traf_on_path=选定路径上的流量
tr_fl_h2h_flow_added=已添加主机到主机流表
tr_fl_multisrc_flow=多重来源流表

# Button tooltips
btn_show_view_device=显示设备视图
btn_show_view_flow=显示此设备的流表视图
btn_show_view_port=显示此设备的端口视图
btn_show_view_group=显示此设备的组表视图
btn_show_view_meter=显示此设备的计量表视图

# Panel Titles
title_select_map=选择地图
title_panel_summary=ONOS摘要
title_selected_items=选定的项目
title_edge_link=边缘链路
title_infra_link=基础设施链路

# Custom Panel Labels / Values
lp_label_friendly=friendly
lp_label_a_type=A 类型
lp_label_a_id=A id
lp_label_a_friendly=A friendly
lp_label_a_port=A 端口
lp_label_b_type=B 类型
lp_label_b_id=B id
lp_label_b_friendly=B friendly
lp_label_b_port=B 端口
lp_label_a2b=A 到 B
lp_label_b2a=B 到 A
lp_value_no_link=[无链路]
