#
# 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=下载选定应用 (.oar 文件)

# 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=** 自行承担风险 **
