<?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">"標記"</string>
    <string name="title_scanned_tag" msgid="4347835407095551450">"已收集新標記"</string>
    <string name="title_existing_tag" msgid="5656560272594190244">"標記"</string>
    <string name="tag_unknown" msgid="2897956823877728783">"不明的標記類型"</string>
    <string name="tag_empty" msgid="3726529819932095782">"沒有內容的標記"</string>
    <string name="button_done" msgid="7048822758098308158">"完成"</string>
    <string name="action_text" msgid="577417996159152923">"傳送簡訊至 <xliff:g id="PHONE_NUMBER">%s</xliff:g>"</string>
    <string name="action_call" msgid="6226253647953184035">"撥打 <xliff:g id="PHONE_NUMBER">%s</xliff:g>"</string>
    <string name="empty_tag_prompt" msgid="4206394383309956030">"這個標記沒有任何內容。"</string>
    <string name="import_vcard" msgid="5104299047930666528">"匯入 ^1"</string>
    <string name="mime_display_name" msgid="5926357152623764485">"NFC 標記的資料"</string>
    <string name="vcard_title" msgid="7122634780732426007">"^1 的聯絡人資訊"</string>
    <string name="call_phone_permission_denied" msgid="8515177111984654599">"這個應用程式需取得電話存取權才能撥打電話。你可以在設定中管理標記權限"</string>
    <string name="external_storage_permission_denied" msgid="7665146019168376837">"這個應用程式需取得外部儲存空間存取權才能存取檔案。你可以在設定中管理標記權限"</string>
</resources>
