<?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">"SMS <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>
