#
# 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=** 위험을 감수하고 계속하기 **
