<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2019 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="phoneAppLabel" product="tablet" msgid="4304896407232136185">"Dados móveis"</string>
    <string name="phoneAppLabel" product="default" msgid="2519341656721644038">"Serviços de telemóvel"</string>
    <string name="emergencyDialerIconLabel" msgid="7373355740508369750">"Telefone de emergência"</string>
    <string name="fdnListLabel" msgid="5034563979654950274">"Lista de FDN"</string>
    <string name="simContacts_title" msgid="4391084959219666947">"Selecione os contactos a importar"</string>
    <string name="gsm_umts_options" msgid="1113500053403490666">"Opções GSM/UMTS"</string>
    <string name="cdma_options" msgid="4492063023149886710">"Opções CDMA"</string>
    <string name="call_settings" msgid="8152058602760531097">"Definições de chamadas"</string>
    <string name="labelCF" msgid="2140733390678280443">"Reencaminhamento de chamadas"</string>
    <string name="labelCallBarring" msgid="8300927675522420184">"Barramento de chamadas"</string>
    <string name="labelGSMMore" msgid="4048734049263392253">"Definições de chamadas GSM"</string>
    <string name="fdn" msgid="1080701466751913822">"Números de marcação fixa (FDN)"</string>
    <string name="get_pin2" msgid="5519152040805796508">"Introduzir PIN2"</string>
    <string name="delete_fdn_contact" msgid="4232462795352020296">"Eliminar números autorizados"</string>
    <string name="enable_pin" msgid="5266421421847399987">"Ativar/desativar o PIN do cartão SIM"</string>
    <string name="change_pin" msgid="7219696137781706635">"Alterar PIN do SIM"</string>
    <string name="accessibility_settings_activity_title" msgid="1948510182681531251">"Acessibilidade"</string>
    <string name="ecm_exit_dialog" msgid="5718252559378968754">"EcmExitDialog"</string>
    <string name="sip_connection_service_label" msgid="6852349516774218961">"Chamadas SIP incorporadas"</string>
    <string name="phone_accounts" msgid="6930293131442022860">"Contas de chamadas"</string>
    <string name="voicemail" msgid="9083239047687566742">"Correio de voz"</string>
    <string name="pstn_connection_service_label" msgid="8160589738201280253">"Cartões SIM incorporados"</string>
    <string name="phone_info_label" product="tablet" msgid="8816614547088739126">"Informações do tablet"</string>
    <string name="phone_info_label" product="default" msgid="3123311719257053162">"Informações do telefone"</string>
    <string name="band_mode_title" msgid="681256838654706936">"Definir modo de banda de rádio"</string>
</resources>
