<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2010 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="app_label" msgid="3070921713463294774">"Загрузки"</string>
    <string name="download_title_sorted_by_date" msgid="5898014492155434221">"Загрузки – по дате"</string>
    <string name="download_title_sorted_by_size" msgid="1417193166677094813">"Загрузки – по размеру"</string>
    <string name="no_downloads" msgid="1029667411186146836">"Нет загрузок."</string>
    <string name="missing_title" msgid="830115697868833773">"&lt;Неизвестно&gt;"</string>
    <string name="button_sort_by_size" msgid="7331549713691146251">"Сортировать по размеру"</string>
    <string name="button_sort_by_date" msgid="8800842892684101528">"Сортировать по дате"</string>
    <string name="download_queued" msgid="104973307780629904">"В очереди"</string>
    <string name="download_running" msgid="4656462962155580641">"В процессе"</string>
    <string name="download_success" msgid="7006048006543495236">"Завершено"</string>
    <string name="download_error" msgid="8081329546008568251">"Сбой"</string>
    <string name="dialog_title_not_available" msgid="5746317632356158515">"Невозможно загрузить файл"</string>
    <string name="dialog_failed_body" msgid="587545111677064427">"Попробовать еще раз загрузить файл позже или удалить его из очереди?"</string>
    <string name="dialog_title_queued_body" msgid="6760681913815015219">"Файл в очереди"</string>
    <string name="dialog_queued_body" msgid="708552801635572720">"Файл еще не загружен."</string>
    <string name="dialog_file_missing_body" msgid="3223012612774276284">"Не удалось найти загруженный файл."</string>
    <string name="dialog_insufficient_space_on_external" msgid="8692452156251449195">"Невозможно завершить загрузку. Недостаточно места на внешнем накопителе."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="6313630206163908994">"Невозможно завершить загрузку. Не хватает встроенной памяти."</string>
    <string name="dialog_cannot_resume" msgid="8664509751358983543">"Невозможно возобновить прерванную загрузку."</string>
    <string name="dialog_file_already_exists" msgid="8308563940663449590">"Загрузка невозможна. Такой файл уже существует."</string>
    <string name="dialog_media_not_found" msgid="4468088418758018765">"Невозможно загрузить файл. Внешний носитель не подключен."</string>
    <string name="download_no_application_title" msgid="7024782176657362251">"Невозможно открыть файл"</string>
    <string name="remove_download" msgid="6372920256257247857">"Удалить"</string>
    <string name="delete_download" msgid="76629022653866471">"Удалить"</string>
    <string name="keep_queued_download" msgid="5144882786014818569">"Сохранить"</string>
    <string name="cancel_running_download" msgid="5232704030969221112">"Отмена"</string>
    <string name="retry_download" msgid="7617100787922717912">"Повторить"</string>
    <string name="start_now_download" msgid="1564642872809509681">"Начать"</string>
    <string name="deselect_all" msgid="6348198946254776764">"Отменить все"</string>
    <string name="select_all" msgid="634074918366265804">"Выбрать все"</string>
    <string name="selected_count" msgid="2101564570019753277">"<xliff:g id="NUMBER">%1$d</xliff:g> из <xliff:g id="TOTAL">%2$d</xliff:g>"</string>
    <string name="download_share_dialog" msgid="3355867339806448955">"Способ отправки"</string>
</resources>
