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

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

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=隱藏主機的標籤

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=顯示當前設備的 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=名稱

lp_label_a_type=A 種類
lp_label_a_id=A ID
lp_label_a_friendly=A 名稱
lp_label_a_port=A 連接埠

lp_label_b_type=B 種類
lp_label_b_id=B ID
lp_label_b_friendly=B 名稱
lp_label_b_port=B 連接埠

lp_label_a2b=A 到 B
lp_label_b2a=B 到 A

lp_value_no_link=[沒有連接]

