<?xml version="1.0" encoding="UTF-8"?>
<!-- 
/**
 * Copyright (C) 2014 The Android Open Source Project
 *
 * 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.
 */
 -->

<resources xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_name" msgid="4699090302771328296">"Poskytovateľ zariadenia"</string>
    <string name="provisioning_error_title" msgid="6320515739861578118">"Ojoj!"</string>
    <string name="setup_work_space" msgid="6539913744903244870">"Nastavenie profilu"</string>
    <string name="company_controls_workspace" msgid="2808025277267917221">"Tento profil riadi a zabezpečuje vaša spoločnosť. Všetko ostatné na tomto zariadení máte pod kontrolou vy."</string>
    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Nasledujúca aplikácia bude potrebovať prístup k tomuto profilu:"</string>
    <string name="set_up" msgid="7012862095553564169">"Nastaviť"</string>
    <string name="setting_up_workspace" msgid="6116976629983614927">"Nastavuje sa pracovný profil..."</string>
    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"Správca môže sledovať a spravovať nastavenia, firemný prístup, aplikácie a údaje súvisiace s týmto profilom, vrátane sieťovej aktivity a informácií o polohe zariadenia."</string>
    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"Správca môže sledovať a spravovať nastavenia, firemný prístup, aplikácie a údaje súvisiace s týmto zariadením, vrátane sieťovej aktivity a informácií o polohe zariadenia."</string>
    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Viac informácií (vrátane pravidiel ochrany osobných údajov vašej organizácie) vám poskytne správca."</string>
    <string name="learn_more_link" msgid="3012495805919550043">"Viac informácií"</string>
    <string name="cancel_setup" msgid="2949928239276274745">"Zrušiť"</string>
    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
    <string name="default_managed_profile_name" msgid="5370257687074907055">"Pracovný profil"</string>
    <string name="managed_profile_already_present" msgid="888277922880582498">"Na svojom zariadení už máte pracovný profil. Chcete ho odstrániť?"</string>
    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Naozaj chcete odstrániť tento pracovný profil? Všetky jeho údaje budú odstránené."</string>
    <string name="delete_profile" msgid="7107020982626129151">"Odstrániť"</string>
    <string name="cancel_delete_profile" msgid="5155447537894046036">"Zrušiť"</string>
    <string name="encrypt_device_text" msgid="6762208577171389053">"Ak chcete pokračovať v nastavovaní pracovného profilu, musíte zašifrovať svoje zariadenie. Môže to chvíľu trvať."</string>
    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Zrušiť"</string>
    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Šifrovať"</string>
    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Šifrovanie bolo dokončené"</string>
    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Klepnutím pokračujte v nastavení pracovného profilu."</string>
    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Nastavenie pracovného profilu sa nepodarilo. Kontaktujte oddelenie IT alebo to skúste znova neskôr."</string>
    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"Vaše zariadenie nepodporuje pracovné profily"</string>
    <string name="user_is_not_owner" msgid="4358772243716976929">"Pracovné profily môže nastaviť iba vlastník zariadenia"</string>
    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Táto aplikácia spúšťača nepodporuje váš pracovný profil. Musíte prepnúť na spúšťač, ktorý je kompatibilný."</string>
    <string name="cancel_provisioning" msgid="3408069559452653724">"Zrušiť"</string>
    <string name="pick_launcher" msgid="4257084827403983845">"OK"</string>
    <string name="default_owned_device_username" msgid="3915120202811807955">"Používateľ pracovného zariadenia"</string>
    <string name="setup_device" msgid="6725265673245816366">"Nastavenie zariadenia"</string>
    <string name="progress_data_process" msgid="7099462614425874283">"Spracovávajú sa údaje nastavenia..."</string>
    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Pripája sa k sieti Wi-Fi..."</string>
    <string name="progress_download" msgid="4995057798189799156">"Sťahuje sa aplikácia na správu..."</string>
    <string name="progress_install" msgid="9169411715762296097">"Inštaluje sa aplikácia na správu..."</string>
    <string name="progress_set_owner" msgid="1292946927202510987">"Nastavuje sa vlastník zariadenia..."</string>
    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Zastaviť nastavovanie?"</string>
    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Naozaj chcete nastavenie ukončiť a odstrániť údaje zariadenia?"</string>
    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Zrušiť"</string>
    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
    <string name="device_owner_error_reset" msgid="1609782972753569267">"Obnoviť"</string>
    <string name="device_owner_error_general" msgid="5962462955470123776">"Nastavenie zariadenia sa nepodarilo. Kontaktujte oddelenie IT."</string>
    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Toto zariadenie je už nastavené"</string>
    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Nepodarilo sa pripojiť k sieti Wi-Fi"</string>
    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Pre chybu kontrolného súčtu sa aplikácia na správu nedá použiť. Kontaktujte oddelenie IT."</string>
    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Aplikáciu na správu sa nepodarilo stiahnuť"</string>
    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Aplikácia na správu sa nedá použiť. Buď v nej chýbajú niektoré komponenty, alebo je poškodená. Kontaktujte oddelenie IT."</string>
    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Aplikáciu na správu sa nepodarilo nainštalovať"</string>
    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"Na vašom zariadení nie je nainštalovaná aplikácia na správu"</string>
</resources>
