<?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">"Provisionador do dispositivo"</string>
    <string name="provisioning_error_title" msgid="6320515739861578118">"Epa!"</string>
    <string name="setup_work_space" msgid="6539913744903244870">"Configurar seu perfil"</string>
    <string name="company_controls_workspace" msgid="2808025277267917221">"Sua organização controla este perfil e o mantém protegido. Você controla todo o resto em seu dispositivo."</string>
    <string name="the_following_is_your_mdm" msgid="6613658218262376404">"O seguinte app precisará acessar este perfil:"</string>
    <string name="set_up" msgid="7012862095553564169">"Configurar"</string>
    <string name="setting_up_workspace" msgid="6116976629983614927">"Configurando seu perfil de trabalho…"</string>
    <string name="admin_has_ability_to_monitor_profile" msgid="8782160676037188061">"O administrador pode monitorar e gerenciar configurações, acesso corporativo, apps e dados associados com o perfil, incluindo a atividade na rede e informações de localização do dispositivo."</string>
    <string name="admin_has_ability_to_monitor_device" msgid="4534011355086694158">"O administrador pode monitorar e gerenciar configurações, acesso corporativo, apps e dados associados a este dispositivo, incluindo a atividade na rede e informações de localização do dispositivo."</string>
    <string name="contact_your_admin_for_more_info" msgid="6870084889394621288">"Entre em contato com o administrador para receber mais informações, incluindo as políticas de privacidade da organização."</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">"Você já tem um perfil de trabalho no dispositivo. Deseja removê-lo?"</string>
    <string name="sure_you_want_to_delete_profile" msgid="3612824117836349973">"Tem certeza de que deseja remover este perfil de trabalho? Todos os seus dados serão excluídos."</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 perfil de trabalho, você precisará criptografar o dispositivo. Isso pode levar algum tempo."</string>
    <string name="encrypt_device_cancel" msgid="5644516574936584926">"Cancelar"</string>
    <string name="encrypt_device_launch_settings" msgid="826115154646195837">"Criptografar"</string>
    <string name="continue_provisioning_notify_title" msgid="5191449100153186648">"Criptografia concluída"</string>
    <string name="continue_provisioning_notify_text" msgid="3027317630111909095">"Toque para continuar a configuração de seu perfil de trabalho"</string>
    <string name="managed_provisioning_error_text" msgid="7063621174570680890">"Não foi possível configurar seu perfil de trabalho. Entre em contato com o departamento de TI ou tente novamente mais tarde."</string>
    <string name="managed_provisioning_not_supported" msgid="6582227325719911795">"O dispositivo não aceita perfis de trabalho"</string>
    <string name="user_is_not_owner" msgid="4358772243716976929">"Os perfis de trabalho precisam ser configurados pelo proprietário do dispositivo"</string>
    <string name="managed_provisioning_not_supported_by_launcher" msgid="8710138269807942163">"O app da tela de início não aceita seu perfil de trabalho. É necessário mudar para uma tela de início 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">"Usuário de dispositivo de trabalho"</string>
    <string name="setup_device" msgid="6725265673245816366">"Configurar o dispositivo"</string>
    <string name="progress_data_process" msgid="7099462614425874283">"Processando dados de configuração…"</string>
    <string name="progress_connect_to_wifi" msgid="9214694010080838763">"Conectando-se ao Wi-Fi..."</string>
    <string name="progress_download" msgid="4995057798189799156">"Fazendo o download do app para administrador…"</string>
    <string name="progress_install" msgid="9169411715762296097">"Instalando o app para administrador…"</string>
    <string name="progress_set_owner" msgid="1292946927202510987">"Configurando o proprietário do dispositivo…"</string>
    <string name="device_owner_cancel_title" msgid="7909285135975063120">"Interromper configuração?"</string>
    <string name="device_owner_cancel_message" msgid="7928007377743469904">"Tem certeza de que deseja interromper a configuração e limpar os dados de seu 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">"Redefinir"</string>
    <string name="device_owner_error_general" msgid="5962462955470123776">"Não foi possível configurar o dispositivo. Entre em contato com o departamento de TI."</string>
    <string name="device_owner_error_already_provisioned" msgid="1902305486832057049">"Este dispositivo já está configurado"</string>
    <string name="device_owner_error_wifi" msgid="4256310285761332378">"Não foi possível se conectar a redes Wi-Fi"</string>
    <string name="device_owner_error_hash_mismatch" msgid="184518450016295596">"Não foi possível usar o app para administrador devido a um erro de soma de verificação. Entre em contato com o departamento de TI."</string>
    <string name="device_owner_error_download_failed" msgid="4520111971592657116">"Não foi possível fazer o download do app para administrador"</string>
    <string name="device_owner_error_package_invalid" msgid="3816725179069202140">"Não é possível usar o app para administrador. Alguns componentes estão ausentes ou corrompidos. Entre em contato com o departamento de TI."</string>
    <string name="device_owner_error_installation_failed" msgid="684566845601079360">"Não foi possível instalar o app para administrador"</string>
    <string name="device_owner_error_package_not_installed" msgid="6095079346537408556">"O app para administrador não foi instalado no dispositivo"</string>
</resources>
