<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2012 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="toast_text_copied" msgid="8327159932780920627">"Se copió el texto."</string>
    <string name="call_custom" msgid="2786306789889210756">"Llamar a <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="call_home" msgid="1479549630992276827">"Llamar a casa"</string>
    <string name="call_mobile" msgid="8618334085824709009">"Llamar al móvil"</string>
    <string name="call_work" msgid="8299062439076337075">"Llamar al trabajo"</string>
    <string name="call_fax_work" msgid="3770754834467992571">"Llamar al fax del trabajo"</string>
    <string name="call_fax_home" msgid="6219051113573396065">"Llamar al fax de casa"</string>
    <string name="call_pager" msgid="3038080882899955112">"Llamar a localizador"</string>
    <string name="call_other" msgid="4472141328347894937">"Llamar"</string>
    <string name="call_callback" msgid="687494744634190411">"Llamar a un número de devolución de llamada"</string>
    <string name="call_car" msgid="9078083109758282133">"Llamar al automóvil"</string>
    <string name="call_company_main" msgid="8768047233970315359">"Llamar al teléfono principal de la empresa"</string>
    <string name="call_isdn" msgid="3342482563847537747">"Llamar a ISDN"</string>
    <string name="call_main" msgid="4640261071249938558">"Llamar al teléfono principal"</string>
    <string name="call_other_fax" msgid="2536328553125487877">"Llamar a fax"</string>
    <string name="call_radio" msgid="9055749313292712021">"Llamar a radio"</string>
    <string name="call_telex" msgid="2909886619224843563">"Llamar a télex"</string>
    <string name="call_tty_tdd" msgid="6704940636171078852">"Llamar a TTY/TDD"</string>
    <string name="call_work_mobile" msgid="4408630608955148641">"Llamar al móvil del trabajo"</string>
    <string name="call_work_pager" msgid="3036932765279753793">"Llamar al localizador del trabajo"</string>
    <string name="call_assistant" msgid="5188990854852312696">"Llamar a <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="call_mms" msgid="8998771923464696960">"Llamar a MMS"</string>
    <string name="sms_custom" msgid="4601748252470175865">"Enviar SMS a <xliff:g id="CUSTOM">%s</xliff:g>"</string>
    <string name="sms_home" msgid="7765831490534280540">"Enviar SMS a casa"</string>
    <string name="sms_mobile" msgid="8387632124165893103">"Enviar SMS al móvil"</string>
    <string name="sms_work" msgid="3910570578912367742">"Enviar SMS al trabajo"</string>
    <string name="sms_fax_work" msgid="909086167151248212">"Enviar SMS al fax del trabajo"</string>
    <string name="sms_fax_home" msgid="4145442497939634875">"Enviar SMS al fax de casa"</string>
    <string name="sms_pager" msgid="5664381349583724906">"Enviar SMS a localizador"</string>
    <string name="sms_other" msgid="910895193552957097">"Enviar SMS"</string>
    <string name="sms_callback" msgid="728414485478941361">"Enviar SMS a un número de devolución de llamada"</string>
    <string name="sms_car" msgid="8543669230270954512">"Enviar SMS al automóvil"</string>
    <string name="sms_company_main" msgid="5441902128445061862">"Enviar SMS al teléfono principal de la empresa"</string>
    <string name="sms_isdn" msgid="7142483128948042667">"Enviar SMS a ISDN"</string>
    <string name="sms_main" msgid="6815987840926184815">"Enviar SMS al teléfono principal"</string>
    <string name="sms_other_fax" msgid="8649822154879781466">"Enviar SMS a fax"</string>
    <string name="sms_radio" msgid="8750339218480745940">"Enviar SMS a radio"</string>
    <string name="sms_telex" msgid="5469333785775443999">"Enviar SMS a télex"</string>
    <string name="sms_tty_tdd" msgid="5057886576150816002">"Enviar SMS a TTY/TDD"</string>
    <string name="sms_work_mobile" msgid="8426872094268475047">"Enviar SMS al móvil del trabajo"</string>
    <string name="sms_work_pager" msgid="499303540738557836">"Enviar SMS al localizador del trabajo"</string>
    <string name="sms_assistant" msgid="2677586547377136683">"Enviar SMS a <xliff:g id="ASSISTANT">%s</xliff:g>"</string>
    <string name="sms_mms" msgid="4887206338311086612">"Enviar SMS a MMS"</string>
    <string name="clearFrequentsConfirmation_title" msgid="1482750234535491083">"¿Borrar contactos frecuentes?"</string>
    <string name="clearFrequentsConfirmation" msgid="2101370440975269958">"Borrarás la lista de personas con las que te pones en contacto frecuentemente de las aplicaciones Personas y Teléfono. Además, tus aplicaciones de correo deberán establecer tus preferencias nuevamente."</string>
    <string name="clearFrequentsProgress_title" msgid="3738406170865048982">"Borrando contactos frecuentes…"</string>
    <string name="status_available" msgid="4832569677396634846">"Disponible"</string>
    <string name="status_away" msgid="6267905184545881094">"Ausente"</string>
    <string name="status_busy" msgid="7111912905211403545">"Ocupado"</string>
    <string name="contactsList" msgid="7140022347217602605">"Contactos"</string>
    <string name="local_invisible_directory" msgid="8934840494825588347">"Otro"</string>
    <string name="directory_search_label" msgid="4484648822765516947">"Directorio"</string>
    <string name="local_search_label" msgid="9094584931063745728">"Todos los contactos"</string>
    <string name="user_profile_contacts_list_header" msgid="8436133790234197565">"Yo"</string>
    <string name="search_results_searching" msgid="9022794597388306615">"Buscando…"</string>
    <string name="foundTooManyContacts" msgid="3060037437459313616">"Más de <xliff:g id="COUNT">%d</xliff:g> encontrados"</string>
    <string name="listFoundAllContactsZero" msgid="4406036083994138930">"No hay contactos"</string>
  <plurals name="searchFoundContacts">
    <item quantity="one" msgid="1013734912609351182">"1 encontrado"</item>
    <item quantity="other" msgid="4649647748678161594">"<xliff:g id="COUNT">%d</xliff:g> encontrados"</item>
  </plurals>
    <string name="description_quick_contact_for" msgid="6355240770807101947">"Contacto rápido para <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="missing_name" msgid="2633118852693000081">"(Sin nombre)"</string>
</resources>
