<?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">"Оди назад"</string>
    <string name="description_dialpad_overflow" msgid="4853244877599437286">"Повеќе опции"</string>
    <string name="description_delete_button" msgid="88733669653753441">"избриши"</string>
    <string name="description_image_button_plus" msgid="7821061347207448362">"плус"</string>
    <string name="description_voicemail_button" msgid="6281470684653439120">"говорна пошта"</string>
    <string name="default_notification_description" msgid="6011631627871110785">"Стандарден звук (<xliff:g id="DEFAULT_SOUND_TITLE">%1$s</xliff:g>)"</string>
    <string name="callFailed_userBusy" msgid="5163219086553610486">"Линијата е зафатена"</string>
    <string name="callFailed_congestion" msgid="3645995103907418337">"Мрежата е зафатена"</string>
    <string name="callFailed_timedOut" msgid="7772951976278867294">"Нема одговор, времето истече"</string>
    <string name="callFailed_server_unreachable" msgid="4766146133909799091">"Серверот е недостапен"</string>
    <string name="callFailed_number_unreachable" msgid="1243366438388873914">"Бројот е недостапен"</string>
    <string name="callFailed_invalid_credentials" msgid="6115412108261660271">"Погрешно корисничко име или лозинка"</string>
    <string name="callFailed_out_of_network" msgid="6970725831030399542">"Повик надвор од мрежа"</string>
    <string name="callFailed_server_error" msgid="1391421251190688379">"Грешка на серверот. Обидете се повторно подоцна."</string>
    <string name="callFailed_noSignal" msgid="1758972490451048086">"Нема сигнал"</string>
    <string name="callFailed_limitExceeded" msgid="8796663077702587664">"Ограничувањето на ACM е надминато"</string>
    <string name="callFailed_powerOff" msgid="9179061328562234362">"Радиото е исклучено"</string>
    <string name="callFailed_simError" msgid="3307159523385380486">"Нема СИМ или грешка на СИМ"</string>
    <string name="callFailed_outOfService" msgid="4535901975891969115">"Не е достапна мобилна мрежа"</string>
    <string name="callFailed_fdn_only" msgid="1720606112619022283">"Појдовните повици се ограничени со FDN."</string>
    <string name="callFailed_dialToUssd" msgid="2093563828737170617">"Барањето DIAL е изменето во барање USSD."</string>
    <string name="callFailed_dialToSs" msgid="3144952834772702469">"Барањето DIAL е изменето во барање SS."</string>
    <string name="callFailed_dialToDial" msgid="1143052062100334634">"Барањето DIAL е изменето во DIAL со различен број."</string>
    <string name="callFailed_cb_enabled" msgid="4745550615395092407">"Не може да направи појдовни повици додека е вклучена забрана на повик."</string>
    <string name="callFailed_dsac_restricted" msgid="4087941056515103695">"Повиците се ограничени со контрола на пристап."</string>
    <string name="callFailed_dsac_restricted_emergency" msgid="9031535611092828510">"Итните повици се ограничени со контрола на пристап."</string>
    <string name="callFailed_dsac_restricted_normal" msgid="266947632344387216">"Нормалните повици се ограничени со контрола на пристап."</string>
    <string name="callFailed_unobtainable_number" msgid="124621797631734731">"Неважечки број"</string>
    <string name="incall_error_missing_voicemail_number" msgid="3651090591812220874">"Бројот на говорна пошта е непознат."</string>
    <string name="callFailed_video_call_tty_enabled" msgid="186585701668604271">"Не може да се воспостават видеоповици кога е овозможен TTY."</string>
    <string name="callEnded_pulled" msgid="437630601519502587">"Повикот се префрли на друг уред."</string>
    <string name="ringtone_silent" msgid="249805466934178869">"Без мелодија"</string>
    <string name="ringtone_unknown" msgid="2303463713486734520">"Непозната мелодија"</string>
    <string name="callFailed_maximum_reached" msgid="4823790040422765056">"Сите достапни линии се во употреба. За воспоставување повик, прекинете еден од повиците на уредот или пак, на еден од другите ваши уреди."</string>
    <string name="callFailed_data_disabled" msgid="3885826754435317856">"Повикот заврши затоа што се оневозможи мобилниот интернет."</string>
    <string name="callFailed_data_limit_reached_description" msgid="1439284832802552582">"Повикот заврши затоа што се достигна ограничувањето за мобилниот интернет."</string>
    <string name="callFailed_data_limit_reached" msgid="7045770594965160282">"Ограничувањето за мобилниот интернет е достигнато. Повикот заврши."</string>
</resources>
