<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2007 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="8396461461738434341">"SIM kártya eszközkészlete"</string>
    <string name="menu_end_session" msgid="7368541737750982217">"Munkamenet befejezése"</string>
    <string name="help" msgid="9209980881219397319">"Súgó"</string>
    <string name="menu_back" msgid="301227740977453364">"Vissza"</string>
    <string name="service_name" msgid="6860303747999592491">"Szolgáltatás neve"</string>
    <string name="stk_no_service" msgid="5427773116839809131">"Nincs elérhető szolgáltatás"</string>
    <string name="button_ok" msgid="5760722312558549555">"OK"</string>
    <string name="button_cancel" msgid="1997847915560800261">"Mégse"</string>
    <string name="button_yes" msgid="624420260648337203">"Igen"</string>
    <string name="button_no" msgid="1824959157582605627">"Nem"</string>
    <string name="alphabet" msgid="1583185545938805861">"ABC"</string>
    <string name="digits" msgid="1746796679021682388">"Számok (0-9, *, #, +)"</string>
    <string name="default_call_setup_msg" msgid="7960194995759849940">"Hívás folyamatban..."</string>
    <string name="default_setup_call_msg" msgid="6126904475461162162">"Hívás beállítása…"</string>
    <string name="stk_app_state" msgid="18582277302584082">"Alkalmazás állapota"</string>
    <string name="enable_app" msgid="3701224550936728203">"Engedélyezve"</string>
    <string name="disable_app" msgid="6725081975611415214">"Letiltva"</string>
    <string name="stk_dialog_title" msgid="6954825385456886726">"SIM kártya eszközkészlete"</string>
    <string name="default_tone_dialog_msg" msgid="4595366992944391641">"Playing Tone"</string>
    <string name="default_open_channel_msg" msgid="2216070254100295924">"Megnyitja a csatornát?"</string>
    <string name="default_send_data_msg" msgid="6011219698689931272">"Adatok küldése"</string>
    <string name="default_receive_data_msg" msgid="618096941772010682">"Adatok fogadása"</string>
    <string name="default_close_channel_msg" msgid="765364262263839824">"A csatorna zárva van."</string>
    <string name="stk_dialog_accept" msgid="8498901537508923727">"IGEN"</string>
    <string name="stk_dialog_reject" msgid="921848059485746796">"NEM"</string>
    <string name="no_sim_card_inserted" msgid="5316620398365235988">"A SIM-eszköztár indításához helyezzen be egy SIM kártyát."</string>
    <string name="stk_channel_name" msgid="8828587788561382056">"Mobilszolgáltatási üzenetek"</string>
</resources>
