<?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">"Nova etiqueta recopilada"</string>
    <string name="title_existing_tag" msgid="5656560272594190244">"Etiqueta"</string>
    <string name="tag_unknown" msgid="2897956823877728783">"Tipo de etiqueta descoñecido"</string>
    <string name="tag_empty" msgid="3726529819932095782">"Etiqueta baleira"</string>
    <string name="button_done" msgid="7048822758098308158">"Feito"</string>
    <string name="action_text" msgid="577417996159152923">"Enviar unha mensaxe a <xliff:g id="PHONE_NUMBER">%s</xliff:g>"</string>
    <string name="action_call" msgid="6226253647953184035">"Chamar a <xliff:g id="PHONE_NUMBER">%s</xliff:g>"</string>
    <string name="empty_tag_prompt" msgid="4206394383309956030">"Esta etiqueta está baleira."</string>
    <string name="import_vcard" msgid="5104299047930666528">"Importar ^1"</string>
    <string name="mime_display_name" msgid="5926357152623764485">"Datos da 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 precisa acceder ao permiso do teléfono para facer chamadas. Podes xestionar o permiso das etiquetas na configuración."</string>
    <string name="external_storage_permission_denied" msgid="7665146019168376837">"Esta aplicación necesita acceder ao permiso de almacenamento externo para ter acceso aos ficheiros. Podes xestionar o permiso de etiquetas na configuración"</string>
</resources>
