<?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">"Címkék"</string>
    <string name="title_scanned_tag" msgid="4347835407095551450">"Új címke begyűjtve"</string>
    <string name="title_existing_tag" msgid="5656560272594190244">"Címke"</string>
    <string name="tag_unknown" msgid="2897956823877728783">"Ismeretlen címkefajta"</string>
    <string name="tag_empty" msgid="3726529819932095782">"Üres címke"</string>
    <string name="button_done" msgid="7048822758098308158">"Kész"</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> hívása"</string>
    <string name="empty_tag_prompt" msgid="4206394383309956030">"Ez címke üres."</string>
    <string name="import_vcard" msgid="5104299047930666528">"^1 importálása"</string>
    <string name="mime_display_name" msgid="5926357152623764485">"Adatok NFC-címkéből"</string>
    <string name="vcard_title" msgid="7122634780732426007">"^1 kapcsolatfelvételi adatai"</string>
    <string name="call_phone_permission_denied" msgid="8515177111984654599">"Az alkalmazásnak hozzáférésre van szüksége a Telefonos engedélyhez, hogy hívásokat kezdeményezhessen. A Címkeengedélyt a Beállításokban kezelheti."</string>
    <string name="external_storage_permission_denied" msgid="7665146019168376837">"Az alkalmazásnak hozzáférésre van szüksége a külső tárhelyhez, hogy hozzáférjen a fájlokhoz. A Címkeengedélyt a Beállításokban kezelheti."</string>
</resources>
