<?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="applicationLabel" msgid="2896013994591816355">"Телефон"</string>
    <string name="launcherDialer" msgid="4812615012439839668">"Телефон"</string>
    <string name="dialerIconLabel" msgid="6452903404967127043">"Телефон"</string>
    <string name="recentCallsIconLabel" msgid="5907257356627356916">"Вызовы"</string>
    <string name="menu_sendTextMessage" msgid="3595115037800019790">"Отправить SMS"</string>
    <string name="recentCalls_callNumber" msgid="3515599302039524481">"Вызов: <xliff:g id="NAME">%s</xliff:g>"</string>
    <string name="recentCalls_editNumberBeforeCall" msgid="2135159627866994026">"Изменить номер и вызвать"</string>
    <string name="recentCalls_addToContact" msgid="3461703895193177303">"Добавить в контакты"</string>
    <string name="recentCalls_removeFromRecentList" msgid="7691127430328165825">"Удалить из списка вызовов"</string>
    <string name="recentCalls_deleteAll" msgid="5940657691419101776">"Очистить список"</string>
    <string name="recentCalls_trashVoicemail" msgid="8564377061038549002">"Удалить голосовое сообщение"</string>
    <string name="recentCalls_shareVoicemail" msgid="7039805601642115775">"Отправить голосовое сообщение"</string>
    <string name="recentCalls_empty" msgid="2475657296340964771">"Список вызовов пуст."</string>
    <string name="clearCallLogConfirmation_title" msgid="8437942116681120680">"Удаление данных"</string>
    <string name="clearCallLogConfirmation" msgid="3049814863802377048">"Журнал звонков будет очищен."</string>
    <string name="clearCallLogProgress_title" msgid="4967754518175652306">"Подождите…"</string>
  <plurals name="notification_voicemail_title">
    <item quantity="one" msgid="7337617129792669763">"Голосовая почта"</item>
    <item quantity="other" msgid="7909053058399879093">"Голосовых сообщений: <xliff:g id="COUNT">%1$d</xliff:g>"</item>
  </plurals>
    <string name="notification_action_voicemail_play" msgid="6479729974823808963">"Прослушать"</string>
    <string name="notification_voicemail_callers_list" msgid="7275857613463950729">"<xliff:g id="NEWER_CALLERS">%1$s</xliff:g>, <xliff:g id="OLDER_CALLER">%2$s</xliff:g>"</string>
    <string name="notification_new_voicemail_ticker" msgid="773612832096153276">"Голосовое сообщение: <xliff:g id="CALLER">%1$s</xliff:g>"</string>
    <string name="voicemail_playback_error" msgid="3745094029143083237">"Не удалось воспроизвести сообщение."</string>
    <string name="voicemail_buffering" msgid="3471857802985075286">"Буферизация…"</string>
    <string name="voicemail_fetching_content" msgid="7304127676344948616">"Загрузка…"</string>
    <string name="voicemail_fetching_timout" msgid="6552711420422790440">"Не удалось получить голосовую почту."</string>
    <string name="call_log_new_header" msgid="8880520605610950591">"Новые"</string>
    <string name="call_log_old_header" msgid="5378037070074806149">"Предыдущие"</string>
    <string name="call_log_voicemail_header" msgid="1656430490229372168">"Только звонки с голосовой почтой"</string>
    <string name="call_log_incoming_header" msgid="4514259481080897711">"Только входящие звонки"</string>
    <string name="call_log_outgoing_header" msgid="378663994725907738">"Только исходящие звонки"</string>
    <string name="call_log_missed_header" msgid="5446439128157203772">"Только пропущенные звонки"</string>
    <string name="voicemail_status_voicemail_not_available" msgid="5416272416842129144">"Не удалось подключиться к серверу голосовой почты."</string>
    <string name="voicemail_status_messages_waiting" msgid="4458458132507579370">"Не удалось подключиться к серверу. Есть новые сообщения."</string>
    <string name="voicemail_status_configure_voicemail" msgid="8634314832269048952">"Настройте голосовую почту."</string>
    <string name="voicemail_status_audio_not_available" msgid="3238711781241004997">"Нельзя прослушать сообщение."</string>
    <string name="voicemail_status_action_configure" msgid="6294251161130772427">"Настроить"</string>
    <string name="voicemail_status_action_call_server" msgid="5905306807691863100">"Прослушать сообщения"</string>
    <string name="voicemail_speed_slowest" msgid="4253243787222323405">"Минимальная скорость"</string>
    <string name="voicemail_speed_slower" msgid="4776579878006616930">"Низкая скорость"</string>
    <string name="voicemail_speed_normal" msgid="5467566844006749402">"Средняя скорость"</string>
    <string name="voicemail_speed_faster" msgid="533959523242789518">"Высокая скорость"</string>
    <string name="voicemail_speed_fastest" msgid="7495589683231751304">"Максимальная скорость"</string>
    <string name="call_log_item_count_and_date" msgid="6348558252438448946">"<xliff:g id="COUNT">%1$d</xliff:g> (<xliff:g id="DATE">%2$s</xliff:g>)"</string>
</resources>
