<?xml version="1.0" encoding="UTF-8"?>
<!-- 
  ~ Copyright (C) 2012 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="description_dialpad_back" msgid="8370856774250260053">"Navigate back"</string>
    <string name="description_dialpad_overflow" msgid="4853244877599437286">"More options"</string>
    <string name="description_delete_button" msgid="88733669653753441">"backspace"</string>
    <string name="description_image_button_plus" msgid="7821061347207448362">"plus"</string>
    <string name="description_voicemail_button" msgid="6281470684653439120">"voicemail"</string>
    <string name="default_notification_description" msgid="6011631627871110785">"Default sound (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
    <string name="callFailed_userBusy" msgid="5163219086553610486">"Line busy"</string>
    <string name="callFailed_congestion" msgid="3645995103907418337">"Network busy"</string>
    <string name="callFailed_timedOut" msgid="7772951976278867294">"No response, timed out"</string>
    <string name="callFailed_server_unreachable" msgid="4766146133909799091">"Server unreachable"</string>
    <string name="callFailed_number_unreachable" msgid="1243366438388873914">"Number unreachable"</string>
    <string name="callFailed_invalid_credentials" msgid="6115412108261660271">"Incorrect username or password"</string>
    <string name="callFailed_out_of_network" msgid="6970725831030399542">"Out‑of‑network call"</string>
    <string name="callFailed_server_error" msgid="1391421251190688379">"Server error. Try again later."</string>
    <string name="callFailed_noSignal" msgid="1758972490451048086">"No signal"</string>
    <string name="callFailed_limitExceeded" msgid="8796663077702587664">"ACM limit exceeded"</string>
    <string name="callFailed_powerOff" msgid="9179061328562234362">"Radio off"</string>
    <string name="callFailed_simError" msgid="3307159523385380486">"No SIM or SIM error"</string>
    <string name="callFailed_outOfService" msgid="4535901975891969115">"Mobile network not available"</string>
    <string name="callFailed_fdn_only" msgid="1720606112619022283">"Outgoing calls are restricted by FDN."</string>
    <string name="callFailed_dialToUssd" msgid="2093563828737170617">"DIAL request modified to USSD request."</string>
    <string name="callFailed_dialToSs" msgid="3144952834772702469">"DIAL request modified to SS request."</string>
    <string name="callFailed_dialToDial" msgid="1143052062100334634">"DIAL request modified to DIAL with different number."</string>
    <string name="callFailed_cb_enabled" msgid="4745550615395092407">"Can\'t make outgoing calls while call barring is on."</string>
    <string name="callFailed_dsac_restricted" msgid="4087941056515103695">"Calls restricted by access control."</string>
    <string name="callFailed_dsac_restricted_emergency" msgid="9031535611092828510">"Emergency calls restricted by access control."</string>
    <string name="callFailed_dsac_restricted_normal" msgid="266947632344387216">"Normal calls restricted by access control."</string>
    <string name="callFailed_unobtainable_number" msgid="124621797631734731">"Invalid number"</string>
    <string name="incall_error_missing_voicemail_number" msgid="3651090591812220874">"Voicemail number unknown."</string>
    <string name="callFailed_video_call_tty_enabled" msgid="186585701668604271">"Cannot make video calls when TTY is enabled."</string>
    <string name="callEnded_pulled" msgid="437630601519502587">"Call transferred to another device."</string>
    <string name="ringtone_silent" msgid="249805466934178869">"None"</string>
    <string name="ringtone_unknown" msgid="2303463713486734520">"Unknown ringtone"</string>
    <string name="callFailed_maximum_reached" msgid="4823790040422765056">"All available lines are in use. To make a call, disconnect one of the calls on this device or on one of your other devices."</string>
    <string name="callFailed_data_disabled" msgid="3885826754435317856">"Call ended because mobile data was disabled."</string>
    <string name="callFailed_data_limit_reached" msgid="8092511810380535738">"Call ended because the mobile data limit has been reached."</string>
</resources>
