<?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="3477737022166975496">"Teléfono"</string>
    <string name="unknown" msgid="6878797917991465859">"Desconocida"</string>
    <string name="notification_missedCallTitle" msgid="7554385905572364535">"Llamada perdida"</string>
    <string name="notification_missedCallsTitle" msgid="1361677948941502522">"Llamadas perdidas"</string>
    <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> llamadas perdidas"</string>
    <string name="notification_missedCallTicker" msgid="504686252427747209">"Se perdieron las llamadas de <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
    <string name="notification_missedCall_call_back" msgid="2684890353590890187">"Devolver llamada"</string>
    <string name="notification_missedCall_message" msgid="3049928912736917988">"Mensaje"</string>
    <string name="accessibility_call_muted" msgid="2776111226185342220">"Llamada silenciada"</string>
    <string name="accessibility_speakerphone_enabled" msgid="1988512040421036359">"Altavoz habilitado"</string>
    <string name="respond_via_sms_canned_response_1" msgid="2461606462788380215">"No puedo hablar ahora. ¿Qué pasa?"</string>
    <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"Te llamo enseguida."</string>
    <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"Te llamo más tarde."</string>
    <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"No puedo hablar ahora. ¿Me llamas más tarde?"</string>
    <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"Respuestas rápidas"</string>
    <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"Editar respuestas rápidas"</string>
    <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
    <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"Respuesta rápida"</string>
    <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"Restablecer aplic. predeterm."</string>
    <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"Mensaje enviado a <xliff:g id="PHONE_NUMBER">%s</xliff:g>"</string>
    <string name="phone_account_preferences_title" msgid="5042332049625236956">"Configuración de cuenta telefónica"</string>
    <string name="default_outgoing_account_title" msgid="8261079649574578970">"Cuenta saliente predeterminada"</string>
    <string name="sim_call_manager_account" msgid="2559930293628077755">"Cuenta para llamadas por Wi-Fi"</string>
    <string name="account_ask_every_time" msgid="944077828070287407">"Preguntar siempre"</string>
    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"No utilizar llamadas por Wi-Fi"</string>
    <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"Este usuario solo tiene permisos para hacer llamadas de emergencia."</string>
</resources>
