<?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">"Administrador de dispositius"</string>
    <string name="provisioning_error_title" msgid="6320515739861578118">"Error"</string>
    <string name="setup_work_space" msgid="6539913744903244870">"Configuració del perfil"</string>
    <string name="company_controls_workspace" msgid="2808025277267917221">"La teva organització controla aquest perfil i el manté protegit. L\'usuari controla la resta d\'elements del dispositiu."</string>
    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"Aquesta aplicació haurà d\'accedir al perfil:"</string>
    <string name="set_up" msgid="7012862095553564169">"Configura"</string>
    <string name="setting_up_workspace" msgid="6116976629983614927">"S\'està configurant el perfil professional..."</string>
    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"L\'administrador pot supervisar i gestionar la configuració, l\'accés corporatiu, les aplicacions i les dades associades amb el perfil, inclosa l\'activitat de xarxa i la informació d\'ubicació del dispositiu."</string>
    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"L\'administrador pot supervisar i gestionar la configuració, l\'accés corporatiu, les aplicacions i les dades associades amb aquest dispositiu, inclosa l\'activitat de xarxa i la informació d\'ubicació del dispositiu."</string>
    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Contacta amb l\'administrador per obtenir més informació, incloses les polítiques de privadesa de la teva organització."</string>
    <string name="learn_more_link" msgid="3012495805919550043">"Més informació"</string>
    <string name="cancel_setup" msgid="2949928239276274745">"Cancel·la"</string>
    <string name="ok_setup" msgid="5148111905838329307">"D\'ACORD"</string>
    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil professional"</string>
    <string name="managed_profile_already_present" msgid="888277922880582498">"Ja tens un perfil professional al dispositiu. El vols suprimir?"</string>
    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Confirmes que vols suprimir aquest perfil professional? Totes les dades que contingui se suprimiran."</string>
    <string name="delete_profile" msgid="7107020982626129151">"Suprimeix"</string>
    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancel·la"</string>
    <string name="encrypt_device_text" msgid="6762208577171389053">"Per continuar amb la configuració del perfil professional, hauràs d\'encriptar el dispositiu. És possible que triguis una estona a fer-ho."</string>
    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancel·la"</string>
    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encripta"</string>
    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encriptació completa"</string>
    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Toca per continuar amb la configuració del perfil"</string>
    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"No s\'ha pogut configurar el perfil professional. Contacta amb el departament de TI o prova-ho més tard."</string>
    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"El dispositiu no és compatible amb els perfils professionals."</string>
    <string name="user_is_not_owner" msgid="4358772243716976929">"El propietari del dispositiu ha de configurar els perfils professionals."</string>
    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"Aquesta aplicació de Launcher no admet el teu perfil professional. Has de fer servir un Launcher que sigui compatible."</string>
    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancel·la"</string>
    <string name="pick_launcher" msgid="4257084827403983845">"D\'acord"</string>
    <string name="default_owned_device_username" msgid="3915120202811807955">"Usuari del dispositiu de la feina"</string>
    <string name="setup_device" msgid="6725265673245816366">"Configuració del dispositiu"</string>
    <string name="progress_data_process" msgid="7099462614425874283">"S\'estan processant dades de configuració..."</string>
    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"S\'està connectant a la Wi-Fi..."</string>
    <string name="progress_download" msgid="4995057798189799156">"S\'està baixant l\'aplicació d\'administració..."</string>
    <string name="progress_install" msgid="9169411715762296097">"S\'està instal·lant aplic. d\'administració..."</string>
    <string name="progress_set_owner" msgid="1292946927202510987">"S\'està definint el propietari del disposit..."</string>
    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Vols aturar la configuració?"</string>
    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Confirmes que vols deixar de configurar i d\'esborrar les dades del dispositiu?"</string>
    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancel·la"</string>
    <string name="device_owner_error_ok" msgid="2556654993515978854">"D\'acord"</string>
    <string name="device_owner_error_reset" msgid="1609782972753569267">"Restableix"</string>
    <string name="device_owner_error_general" msgid="5962462955470123776">"No s\'ha pogut configurar el dispositiu. Contacta amb el departament de TI."</string>
    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Aquest dispositiu ja està configurat."</string>
    <string name="device_owner_error_wifi" msgid="4256310285761332378">"No s\'ha pogut connectar a la Wi-Fi."</string>
    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"No s\'ha pogut fer servir l\'aplicació d\'administració a causa d\'un error de la suma de comprovació. Contacta amb el departament de TI."</string>
    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"No s\'ha pogut baixar l\'aplicació d\'administració."</string>
    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"No es pot fer servir l\'aplicació d\'administració perquè està malmesa o hi falten components. Contacta amb el departament de TI."</string>
    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"No s\'ha pogut instal·lar l\'aplicació d\'administració."</string>
    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"L\'aplicació d\'administració no està instal·lada al dispositiu."</string>
</resources>
