#
# 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=Applications

# View title
title_apps=Applications

# Control button tooltips
tt_ctl_upload=Upload an application (.oar file)
tt_ctl_activate=Activate selected application
tt_ctl_deactivate=Deactivate selected application
tt_ctl_uninstall=Uninstall selected application
tt_ctl_download=Download selected application (.oar file)

# Quick-Help panel
qh_hint_esc=Deselect application
qh_hint_click_row=Select / deselect application
qh_hint_scroll_down=See more applications

# App details panel
dp_features=Features
dp_required_apps=Required Apps
dp_permissions=Permissions

# App dialog panel
dlg_confirm_action=Confirm Action

dlg_warn_deactivate=Deactivating or uninstalling this component \
  can have serious negative consequences!
dlg_warn_own_risk=** DO SO AT YOUR OWN RISK **
