<?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">"کیت ابزار سیم کارت"</string>
    <string name="menu_end_session" msgid="7368541737750982217">"پایان جلسه"</string>
    <string name="help" msgid="9209980881219397319">"راهنمایی"</string>
    <string name="menu_back" msgid="301227740977453364">"برگشت"</string>
    <string name="service_name" msgid="6860303747999592491">"نام سرویس"</string>
    <string name="stk_no_service" msgid="5427773116839809131">"سرویسی موجود نیست"</string>
    <string name="button_ok" msgid="5760722312558549555">"تأیید"</string>
    <string name="button_cancel" msgid="1997847915560800261">"لغو"</string>
    <string name="button_yes" msgid="624420260648337203">"بله"</string>
    <string name="button_no" msgid="1824959157582605627">"خیر"</string>
    <string name="alphabet" msgid="1583185545938805861">"الفبا"</string>
    <string name="digits" msgid="1746796679021682388">"ارقام (0-9، *، #، +)"</string>
    <string name="default_call_setup_msg" msgid="7960194995759849940">"تماس در حال انجام..."</string>
    <string name="default_setup_call_msg" msgid="6126904475461162162">"تماس در حال تنظیم"</string>
    <string name="stk_app_state" msgid="18582277302584082">"حالت برنامهٔ کاربردی"</string>
    <string name="enable_app" msgid="3701224550936728203">"فعال شد"</string>
    <string name="disable_app" msgid="6725081975611415214">"غیرفعال شد"</string>
    <string name="stk_dialog_title" msgid="6954825385456886726">"کیت ابزار سیم کارت"</string>
    <string name="default_open_channel_msg" msgid="2216070254100295924">"کانال باز شود؟"</string>
    <string name="default_send_data_msg" msgid="6011219698689931272">"ارسال داده"</string>
    <string name="default_receive_data_msg" msgid="618096941772010682">"دریافت داده"</string>
    <string name="default_close_channel_msg" msgid="765364262263839824">"کانال بسته شد"</string>
    <string name="stk_dialog_accept" msgid="8498901537508923727">"بله"</string>
    <string name="stk_dialog_reject" msgid="921848059485746796">"خیر"</string>
    <string name="no_sim_card_inserted" msgid="5316620398365235988">"‏برای راه‌اندازی SIM Toolkit، لطفاً سیم‌کارت را وارد کنید."</string>
</resources>
