#
# 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.
#
#
# --- Elements (Singular)
node=節點
topology=拓撲
network=網路
region=區域
device=設備
host=主機
link=連結
intent=Intent (zh_TW)
tunnel=Tunnel (zh_TW)
flow=Flow (zh_TW)
port=Port (zh_TW)

# --- Elements (Plural)
nodes=節點
topologies=拓撲
topology_sccs=Topology SCCs (zh_TW)
networks=網路
regions=區域
devices=設備
hosts=主機
links=連結
intents=Intents (zh_TW)
tunnels=Tunnels (zh_TW)
flows=Flows (zh_TW)
ports=Ports (zh_TW)

# --- Element IDs
node_id=節點 ID
region_id=區域 ID
device_id=設備 ID
host_id=主機 ID
link_id=連結 ID
intent_id=Intent ID (zh_TW)
tunnel_id=Tunnel ID (zh_TW)
flow_id=Flow ID (zh_TW)
port_id=Port ID (zh_TW)

# --- Protocol terms
protocol=協定
ip=IP
ip_address=IP 地址
tcp_port=TCP 埠口
mac=MAC
mac_address=MAC 地址
uri=URI
vlan=VLAN (zh_TW)
