<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2013 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="telecommAppLabel" product="default" msgid="9166784827254469057">"Gestão de chamadas do telemóvel"</string>
    <string name="userCallActivityLabel" product="default" msgid="5415173590855187131">"Telefone"</string>
    <string name="unknown" msgid="6878797917991465859">"Desconhecido"</string>
    <string name="notification_missedCallTitle" msgid="7554385905572364535">"Chamada não atendida"</string>
    <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Chamadas não atendidas"</string>
    <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> chamadas não atendidas"</string>
    <string name="notification_missedCallTicker" msgid="504686252427747209">"Chamada não atendida de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
    <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Ligar de volta"</string>
    <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensagem"</string>
    <string name="accessibility_call_muted" msgid="2776111226185342220">"Chamada sem som."</string>
    <string name="accessibility_speakerphone_enabled" msgid="1988512040421036359">"Alta voz ativada."</string>
    <string name="respond_via_sms_canned_response_1" msgid="2461606462788380215">"Não posso falar agora. Que se passa?"</string>
    <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Telefono-lhe já a seguir."</string>
    <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Telefono-lhe mais tarde."</string>
    <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"Pode telefonar-me mais tarde?"</string>
    <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Respostas rápidas"</string>
    <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Editar respostas rápidas"</string>
    <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
    <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Resposta rápida"</string>
    <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Mensagem enviada para <xliff:g id="PHONE_NUMBER">%s</xliff:g>."</string>
    <string name="enable_account_preference_title" msgid="2021848090086481720">"Contas de chamadas"</string>
    <!-- no translation found for outgoing_call_not_allowed_user_restriction (6872406278300131364) -->
    <skip />
    <string name="outgoing_call_not_allowed_no_permission" msgid="1996571596464271228">"Esta aplicação não pode fazer chamadas sem a autorização do telefone."</string>
    <string name="outgoing_call_error_no_phone_number_supplied" msgid="1940125199802007505">"Para telefonar, introduza um número válido."</string>
    <string name="duplicate_video_call_not_allowed" msgid="3749211605014548386">"Não é possível adicionar a chamada neste momento."</string>
    <string name="video_call_not_allowed_if_tty_enabled" msgid="7593649283571253283">"Desative o modo teletipo para efetuar videochamadas."</string>
    <string name="no_vm_number" msgid="4164780423805688336">"Número do correio de voz em falta"</string>
    <string name="no_vm_number_msg" msgid="1300729501030053828">"Não existe um número de correio de voz armazenado no cartão SIM."</string>
    <string name="add_vm_number_str" msgid="4676479471644687453">"Adicionar número"</string>
    <string name="change_default_dialer_dialog_title" msgid="4430590714918044425">"Alterar aplicação de Telefone predefinida?"</string>
    <string name="change_default_dialer_with_previous_app_set_text" msgid="3213396537499337949">"Utilizar <xliff:g id="NEW_APP">%1$s</xliff:g> em vez de <xliff:g id="CURRENT_APP">%2$s</xliff:g> como a aplicação de telefone predefinida?"</string>
    <string name="change_default_dialer_no_previous_app_set_text" msgid="7608426684114545221">"Utilizar <xliff:g id="NEW_APP">%s</xliff:g> como a aplicação de telefone predefinida?"</string>
</resources>
