<?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">"Etiketak"</string>
    <string name="title_scanned_tag" msgid="4347835407095551450">"Etiketa berria eskaneatu da"</string>
    <string name="title_existing_tag" msgid="5656560272594190244">"Etiketa"</string>
    <string name="tag_unknown" msgid="2897956823877728783">"Etiketa mota ezezaguna"</string>
    <string name="tag_empty" msgid="3726529819932095782">"Etiketa hutsik dago"</string>
    <string name="button_done" msgid="7048822758098308158">"Eginda"</string>
    <string name="action_text" msgid="577417996159152923">"Bidali testu-mezua <xliff:g id="PHONE_NUMBER">%s</xliff:g> kontaktuari"</string>
    <string name="action_call" msgid="6226253647953184035">"Deitu <xliff:g id="PHONE_NUMBER">%s</xliff:g> kontaktuari"</string>
    <string name="empty_tag_prompt" msgid="4206394383309956030">"Etiketa hutsik dago."</string>
    <string name="import_vcard" msgid="5104299047930666528">"Inportatu ^1"</string>
    <string name="mime_display_name" msgid="5926357152623764485">"NFC etiketaren datuak"</string>
    <string name="vcard_title" msgid="7122634780732426007">"^1 kontaktuarekin harremanetan jartzeko informazioa"</string>
    <string name="call_phone_permission_denied" msgid="8515177111984654599">"Aplikazioak telefonoa erabiltzeko baimena behar du deiak egin ahal izateko. Baimenak kudeatzeko, joan Ezarpenak atalera."</string>
    <string name="external_storage_permission_denied" msgid="7665146019168376837">"Aplikazioak kanpoko memoria erabiltzeko baimena behar du fitxategiak atzitu ahal izateko. Tag aplikazioaren baimenak kudeatzeko, joan Ezarpenak atalera."</string>
</resources>
