<?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="6948371942814365471">"Kthehu prapa"</string>
    <string name="description_dialpad_overflow" msgid="386545562915853251">"Opsione të tjera"</string>
    <string name="description_delete_button" msgid="3440492396168418449">"butoni \"kthim prapa\""</string>
    <string name="description_image_button_plus" msgid="5473715983314974482">"plus"</string>
    <string name="description_voicemail_button" msgid="3215317707268642855">"posta zanore"</string>
    <string name="default_notification_description" msgid="7586091743351742205">"Tingulli i parazgjedhur (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
    <string name="callFailed_userBusy" msgid="8760595520859373561">"Linja është e zënë"</string>
    <string name="callFailed_congestion" msgid="660130739882090863">"Rrjeti është i zënë"</string>
    <string name="callFailed_timedOut" msgid="6780964135550644777">"Nuk ka përgjigje. Koha e veprimit përfundoi!"</string>
    <string name="callFailed_server_unreachable" msgid="7004372091099175338">"Serveri është i paarritshëm"</string>
    <string name="callFailed_number_unreachable" msgid="2855741498610643943">"Numri është i paarritshëm"</string>
    <string name="callFailed_invalid_credentials" msgid="1915881596632385418">"Emri i përdoruesit ose fjalëkalimi është i pasaktë"</string>
    <string name="callFailed_out_of_network" msgid="3725361800376129141">"Telefonatë nga jashtë rrjetit"</string>
    <string name="callFailed_server_error" msgid="8449565039784274698">"Gabim në server. Provo sërish më vonë."</string>
    <string name="callFailed_noSignal" msgid="7700332004458210245">"Nuk ka sinjal"</string>
    <string name="callFailed_limitExceeded" msgid="2877263157928717415">"Kufiri i ACM-së u tejkalua."</string>
    <string name="callFailed_powerOff" msgid="2212239757387143765">"Radioja është e çaktivizuar"</string>
    <string name="callFailed_simError" msgid="510948380244092037">"Nuk ka kartë SIM ose gabim në kartën SIM"</string>
    <string name="callFailed_outOfService" msgid="2917536349269880601">"Rrjeti celular nuk mundësohet"</string>
    <string name="callFailed_fdn_only" msgid="584249308311672690">"Telefonatat dalëse janë të kufizuara nga FDN-ja."</string>
    <string name="callFailed_dialToUssd" msgid="6794913139176808973">"Telefonata u ndryshua në kërkesë USSD"</string>
    <string name="callFailed_dialToSs" msgid="6749473185855000519">"Telefonata u ndryshua në kërkesë SS"</string>
    <string name="callFailed_dialToDial" msgid="391531243214210803">"U ndryshua në një numër tjetër"</string>
    <string name="callFailed_dialToDialVideo" msgid="1405537953282276350">"U ndryshua në telefonatë me video"</string>
    <string name="callFailed_dialVideoToSs" msgid="4187072851496468440">"Telefonata me video u ndryshua në kërkesë SS"</string>
    <string name="callFailed_dialVideoToUssd" msgid="4479951468674677111">"Telefonata me video u ndryshua në kërkesë USSD"</string>
    <string name="callFailed_dialVideoToDial" msgid="160029277192677751">"U ndryshua në një telefonatë të zakonshme"</string>
    <string name="callFailed_dialVideoToDialVideo" msgid="3976695729414283836">"U ndryshua në një numër tjetër"</string>
    <string name="callFailed_cb_enabled" msgid="3555984829657638323">"Nuk mund të kryesh telefonata dalëse kur është i aktivizuar bllokimi i telefonatave."</string>
    <string name="callFailed_dsac_restricted" msgid="4073547013432506074">"Telefonatat janë të kufizuara nga kontrolli i qasjes."</string>
    <string name="callFailed_dsac_restricted_emergency" msgid="3271861683273124458">"Telefonatat e urgjencës janë të kufizuara nga kontrolli i qasjes."</string>
    <string name="callFailed_dsac_restricted_normal" msgid="2812267231481193715">"Telefonatat normale janë të kufizuara nga kontrolli i qasjes."</string>
    <string name="callFailed_unobtainable_number" msgid="2048455732432022283">"Numri është i pavlefshëm"</string>
    <string name="incall_error_missing_voicemail_number" msgid="4519524908114719666">"Numri postës zanore është i panjohur."</string>
    <string name="callFailed_video_call_tty_enabled" msgid="5419496275850000361">"Nuk mund të kryhen telefonata kur pajisja TTY është e aktivizuar."</string>
    <string name="callEnded_pulled" msgid="4824518546417807865">"Telefonata u transferua te një pajisje tjetër."</string>
    <string name="ringtone_silent" msgid="1173111569760233645">"Asnjë"</string>
    <string name="ringtone_unknown" msgid="3036191370493284036">"Toni i ziles është i panjohur"</string>
    <string name="callFailed_maximum_reached" msgid="6704266142192963900">"Të gjitha linjat e disponueshme janë në përdorim. Për të bërë një telefonatë, shkëput një nga telefonatat në këtë pajisje ose në një nga pajisjet e tjera të tua."</string>
    <string name="callFailed_data_disabled" msgid="8592999219489448277">"Telefonata përfundoi sepse të dhënat celulare u çaktivizuan."</string>
    <string name="callFailed_data_limit_reached_description" msgid="3739097798746751739">"Telefonata përfundoi sepse kufiri i të dhënave celulare u arrit."</string>
    <string name="callFailed_data_limit_reached" msgid="3018609096563149722">"Kufiri i të dhënave u arrit. Telefonata përfundoi."</string>
</resources>
