#
# 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=Toggle sprite layer
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=平衡交換器控制權

# 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 layer
fl_pan_zoom_reset=重設縮放比例
fl_eq_masters=平衡交換器控制權

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_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=顯示當前設備的 Group 觀點
btn_show_view_meter=顯示當前設備的 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=[沒有連接]

