#
# 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_CN)

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