<?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 Toolkit"</string>
    <string name="menu_end_session" msgid="7368541737750982217">"Sessiyanı sonlandır"</string>
    <string name="help" msgid="9209980881219397319">"Yardım"</string>
    <string name="menu_back" msgid="301227740977453364">"Geri"</string>
    <string name="service_name" msgid="6860303747999592491">"Xidmət adı"</string>
    <string name="stk_no_service" msgid="5427773116839809131">"Servis mövcud deyil"</string>
    <string name="button_ok" msgid="5760722312558549555">"OK"</string>
    <string name="button_cancel" msgid="1997847915560800261">"Ləğv edin"</string>
    <string name="button_yes" msgid="624420260648337203">"Bəli"</string>
    <string name="button_no" msgid="1824959157582605627">"Xeyr"</string>
    <string name="alphabet" msgid="1583185545938805861">"Əlifbalar"</string>
    <string name="digits" msgid="1746796679021682388">"Rəqəmlər (0-9, *, #, +)"</string>
    <string name="default_call_setup_msg" msgid="7960194995759849940">"Zəng davam edir..."</string>
    <string name="default_setup_call_msg" msgid="6126904475461162162">"Zəng quraşdırılır"</string>
    <string name="stk_app_state" msgid="18582277302584082">"Tətbiq vəziyyəti"</string>
    <string name="enable_app" msgid="3701224550936728203">"Aktivləşdirilib"</string>
    <string name="disable_app" msgid="6725081975611415214">"Deaktiv"</string>
    <string name="stk_dialog_title" msgid="6954825385456886726">"SIM Toolkit"</string>
    <string name="default_open_channel_msg" msgid="2216070254100295924">"Kanal Açılsın?"</string>
    <string name="default_send_data_msg" msgid="6011219698689931272">"Data Göndərilir"</string>
    <string name="default_receive_data_msg" msgid="618096941772010682">"Data Alınır"</string>
    <string name="default_close_channel_msg" msgid="765364262263839824">"Kanal Bağlıdır"</string>
    <string name="stk_dialog_accept" msgid="8498901537508923727">"BƏLİ"</string>
    <string name="stk_dialog_reject" msgid="921848059485746796">"XEYR"</string>
    <string name="no_sim_card_inserted" msgid="5316620398365235988">"SİM Alət-panelini başlatmaq üçün SİM taxın."</string>
</resources>
