<?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">"Aprovisionador de dispositivos"</string>
    <string name="provisioning_error_title" msgid="6320515739861578118">"Ups!"</string>
    <string name="setup_work_space" msgid="6539913744903244870">"Configurar o seu perfil"</string>
    <string name="company_controls_workspace" msgid="2808025277267917221">"A sua entidade controla este perfil e mantém-no seguro. O utilizador controla tudo o resto no dispositivo."</string>
    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"A aplicação seguinte terá de aceder a este perfil:"</string>
    <string name="set_up" msgid="7012862095553564169">"Configurar"</string>
    <string name="setting_up_workspace" msgid="6116976629983614927">"A configurar o perfil de trabalho..."</string>
    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"O administrador tem a capacidade de monitorizar e gerir as definições, o acesso empresarial, as aplicações e os dados associados a este perfil, incluindo a atividade de rede e as informações de localização do seu dispositivo."</string>
    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"O administrador tem a capacidade de monitorizar e gerir as definições, o acesso empresarial, as aplicações e os dados associados a este dispositivo, incluindo a atividade de rede e as informações de localização do seu dispositivo."</string>
    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Contacte o administrador para obter mais informações, incluindo as políticas de privacidade da sua entidade."</string>
    <string name="learn_more_link" msgid="3012495805919550043">"Saiba mais"</string>
    <string name="cancel_setup" msgid="2949928239276274745">"Cancelar"</string>
    <string name="ok_setup" msgid="5148111905838329307">"OK"</string>
    <string name="default_managed_profile_name" msgid="5370257687074907055">"Perfil de trabalho"</string>
    <string name="managed_profile_already_present" msgid="888277922880582498">"Já tem um perfil de trabalho no seu dispositivo. Pretende removê-lo?"</string>
    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Tem a certeza de que pretende remover este perfil de trabalho? Todos os seus dados serão eliminados."</string>
    <string name="delete_profile" msgid="7107020982626129151">"Remover"</string>
    <string name="cancel_delete_profile" msgid="5155447537894046036">"Cancelar"</string>
    <string name="encrypt_device_text" msgid="6762208577171389053">"Para continuar a configuração do seu perfil de trabalho, terá de encriptar o dispositivo. Esta ação poderá demorar algum tempo."</string>
    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancelar"</string>
    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Encriptar"</string>
    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Encriptação concluída"</string>
    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Toque para continuar a configurar o seu perfil de trabalho"</string>
    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Não foi possível configurar o perfil de trabalho. Contacte o departamento de TI ou tente novamente mais tarde."</string>
    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"O dispositivo não é compatível com perfis de trabalho"</string>
    <string name="user_is_not_owner" msgid="4358772243716976929">"Os perfis de trabalho têm de ser configurados pelo proprietário do dispositivo"</string>
    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"O seu perfil de trabalho não é suportado por esta aplicação de launcher. Terá de mudar para um launcher compatível."</string>
    <string name="cancel_provisioning" msgid="3408069559452653724">"Cancelar"</string>
    <string name="pick_launcher" msgid="4257084827403983845">"Ok"</string>
    <string name="default_owned_device_username" msgid="3915120202811807955">"Utilizador de dispositivo de trabalho"</string>
    <string name="setup_device" msgid="6725265673245816366">"Configurar o dispositivo"</string>
    <string name="progress_data_process" msgid="7099462614425874283">"A processar dados de configuração..."</string>
    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"A estabelecer ligação Wi-Fi..."</string>
    <string name="progress_download" msgid="4995057798189799156">"A transferir a aplicação de administração..."</string>
    <string name="progress_install" msgid="9169411715762296097">"A instalar a aplicação de administração..."</string>
    <string name="progress_set_owner" msgid="1292946927202510987">"A configurar o proprietário do dispositivo..."</string>
    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Pretende parar a configuração?"</string>
    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Tem a certeza de que pretende parar a configuração e apagar os dados do dispositivo?"</string>
    <string name="device_owner_cancel_cancel" msgid="1052951540909389275">"Cancelar"</string>
    <string name="device_owner_error_ok" msgid="2556654993515978854">"OK"</string>
    <string name="device_owner_error_reset" msgid="1609782972753569267">"Repor"</string>
    <string name="device_owner_error_general" msgid="5962462955470123776">"Não foi possível configurar o dispositivo. Contacte o departamento de TI."</string>
    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"O dispositivo já está configurado"</string>
    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Não foi possível ligar à rede Wi-Fi"</string>
    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Não foi possível utilizar a aplicação de administração devido a um erro de soma de verificação. Contacte o departamento de TI."</string>
    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Não foi possível transferir a aplicação de administração"</string>
    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Não é possível utilizar a aplicação de administração. Faltam componentes ou está danificada. Contacte o departamento de TI."</string>
    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Não foi possível instalar a aplicação de administração"</string>
    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"A aplicação de administração não está instalada no dispositivo"</string>
</resources>
