<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2013 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="telecommAppLabel" product="default" msgid="3477737022166975496">"تلفن"</string>
    <string name="unknown" msgid="6878797917991465859">"ناشناس"</string>
    <string name="notification_missedCallTitle" msgid="7554385905572364535">"تماس بی پاسخ"</string>
    <string name="notification_missedCallsTitle" msgid="1361677948941502522">"تماس‌های بی پاسخ"</string>
    <string name="notification_missedCallsMsg" msgid="4575787816055205600">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> تماس بی پاسخ"</string>
    <string name="notification_missedCallTicker" msgid="504686252427747209">"تماس بی پاسخ از <xliff:g id="MISSED_CALL_FROM">%s</xliff:g>"</string>
    <string name="notification_missedCall_call_back" msgid="2684890353590890187">"پاسخ تماس"</string>
    <string name="notification_missedCall_message" msgid="3049928912736917988">"پیام"</string>
    <string name="accessibility_call_muted" msgid="2776111226185342220">"تماس نادیده گرفته شد."</string>
    <string name="accessibility_speakerphone_enabled" msgid="1988512040421036359">"تلفن آیفون‌دار فعال شد."</string>
    <string name="respond_via_sms_canned_response_1" msgid="2461606462788380215">"اکنون نمی‌توانم صحبت کنم. موضوع چیست؟"</string>
    <string name="respond_via_sms_canned_response_2" msgid="4074450431532859214">"به زودی با شما تماس می‌گیرم."</string>
    <string name="respond_via_sms_canned_response_3" msgid="3496079065723960450">"بعداً با شما تماس می‌گیرم."</string>
    <string name="respond_via_sms_canned_response_4" msgid="1698989243040062190">"اکنون نمی‌توانم صحبت کنم. بعداً به من زنگ می‌زنید؟"</string>
    <string name="respond_via_sms_setting_title" msgid="3754000371039709383">"پاسخ‌های سریع"</string>
    <string name="respond_via_sms_setting_title_2" msgid="6104662227299493906">"ویرایش پاسخ‌های سریع"</string>
    <string name="respond_via_sms_setting_summary" msgid="9150281183930613065"></string>
    <string name="respond_via_sms_edittext_dialog_title" msgid="20379890418289778">"پاسخ سریع"</string>
    <string name="respond_via_sms_menu_reset_default_activity" msgid="1461742052902053466">"بازنشانی برنامه‌ پیش‌فرض"</string>
    <string name="respond_via_sms_confirmation_format" msgid="7229149977515784269">"پیام به <xliff:g id="PHONE_NUMBER">%s</xliff:g> ارسال شد."</string>
    <string name="phone_account_preferences_title" msgid="5042332049625236956">"تنظیمات حساب تلفن"</string>
    <string name="default_outgoing_account_title" msgid="8261079649574578970">"حساب خروجی پیش‌فرض"</string>
    <string name="sim_call_manager_account" msgid="2559930293628077755">"‏حساب برقراری تماس تلفنی با Wi-Fi"</string>
    <string name="account_ask_every_time" msgid="944077828070287407">"هر بار پرسیده شود"</string>
    <string name="do_not_use_sim_call_manager" msgid="5519252524007323694">"‏از تماس تلفنی با Wi-Fi استفاده نشود"</string>
    <string name="outgoing_call_not_allowed" msgid="1434784869685645427">"این کاربر اجازه برقراری تماس‌های تلفنی غیر اضطراری ندارد."</string>
    <string name="outgoing_call_error_no_phone_number_supplied" msgid="4987143284589568716">"تماس ارسال نشد، هیچ شماره معتبری وارد نشده است."</string>
    <string name="no_vm_number" msgid="4164780423805688336">"عدم وجود شماره پست صوتی"</string>
    <string name="no_vm_number_msg" msgid="1300729501030053828">"شماره پست صوتی در سیم کارت ذخیره نشده است."</string>
    <string name="add_vm_number_str" msgid="4676479471644687453">"افزودن شماره"</string>
</resources>
