<?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">"Tag"</string>
    <string name="title_scanned_tag" msgid="4347835407095551450">"Tag yang baru dikumpulkan"</string>
    <string name="title_existing_tag" msgid="5656560272594190244">"Tag"</string>
    <string name="tag_unknown" msgid="2897956823877728783">"Jenis tag tidak diketahui"</string>
    <string name="tag_empty" msgid="3726529819932095782">"Tag kosong"</string>
    <string name="button_done" msgid="7048822758098308158">"Selesai"</string>
    <string name="action_text" msgid="577417996159152923">"SMS <xliff:g id="PHONE_NUMBER">%s</xliff:g>"</string>
    <string name="action_call" msgid="6226253647953184035">"Telepon <xliff:g id="PHONE_NUMBER">%s</xliff:g>"</string>
    <string name="empty_tag_prompt" msgid="4206394383309956030">"Tag ini kosong."</string>
    <string name="import_vcard" msgid="5104299047930666528">"Impor ^1"</string>
    <string name="mime_display_name" msgid="5926357152623764485">"Data dari tag NFC"</string>
    <string name="vcard_title" msgid="7122634780732426007">"Info kontak untuk ^1"</string>
    <string name="call_phone_permission_denied" msgid="8515177111984654599">"Aplikasi ini harus mengakses izin Telepon untuk melakukan panggilan. Anda dapat mengelola izin Tag di Setelan"</string>
    <string name="external_storage_permission_denied" msgid="7665146019168376837">"Aplikasi ini harus mengakses izin Penyimpanan Eksternal untuk mengakses file. Anda dapat mengelola izin Tag di Setelan"</string>
</resources>
