#
# 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_host_labels_hide=Hide host labels # TODO

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 name
lp_label_a_port=A 端口
lp_label_b_type=B 类型
lp_label_b_id=B id
lp_label_b_friendly=B name
lp_label_b_port=B 端口
lp_label_a2b=A 到 B
lp_label_b2a=B 到 A
lp_value_no_link=[无链路]
