#
# 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_app=應用程式

# View title
title_apps=應用程式

# Control button tooltips
tt_ctl_upload=上傳應用程式 (.oar 文件)
tt_ctl_activate=啟動選定的應用程式
tt_ctl_deactivate=停用選定的應用程式
tt_ctl_uninstall=移除選定的應用程式
tt_ctl_download=Download selected application (.oar file) (zh_TW)

# Quick-Help panel
qh_hint_esc=取消選定的應用程式
qh_hint_click_row=選取/取消選定的應用程式
qh_hint_scroll_down=查看更多應用程式

# App details panel
dp_features=特性
dp_required_apps=依賴的應用程式
dp_permissions=權限

# App dialog panel
dlg_confirm_action=確認操作

dlg_warn_deactivate=停用或移除這個元件可能造成負面的影響
dlg_warn_own_risk=**自行承擔風險**
