<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2010 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="5128188288358721369">"Etiquetas"</string>
    <string name="title_scanned_tag" msgid="4347835407095551450">"Nueva etiqueta recopilada"</string>
    <string name="title_existing_tag" msgid="5656560272594190244">"Etiqueta"</string>
    <string name="tag_unknown" msgid="2897956823877728783">"Tipo de etiqueta desconocido"</string>
    <string name="tag_empty" msgid="3726529819932095782">"Etiqueta vacía"</string>
    <string name="button_done" msgid="7048822758098308158">"Ok"</string>
    <string name="action_text" msgid="577417996159152923">"Enviar SMS al <xliff:g id="PHONE_NUMBER">%s</xliff:g>"</string>
    <string name="action_call" msgid="6226253647953184035">"Llamar al <xliff:g id="PHONE_NUMBER">%s</xliff:g>"</string>
    <string name="empty_tag_prompt" msgid="4206394383309956030">"Esta etiqueta está vacía."</string>
    <string name="import_vcard" msgid="5104299047930666528">"Importar ^1"</string>
    <string name="mime_display_name" msgid="5926357152623764485">"Datos de etiqueta NFC"</string>
    <string name="vcard_title" msgid="7122634780732426007">"Información de contacto de ^1"</string>
    <string name="call_phone_permission_denied" msgid="8515177111984654599">"Esta aplicación necesita acceder al permiso de teléfono para hacer llamadas. Puedes gestionar el permiso de etiquetas en Ajustes"</string>
    <string name="external_storage_permission_denied" msgid="7665146019168376837">"Esta aplicación necesita el permiso Almacenamiento externo para acceder a los archivos. Puedes administrar el permiso Etiqueta en Ajustes"</string>
</resources>
