<?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>
    <!-- no translation found for download_title_sorted_by_date (5898014492155434221) -->
    <skip />
    <!-- no translation found for download_title_sorted_by_size (1417193166677094813) -->
    <skip />
    <string name="no_downloads" msgid="1029667411186146836">"Нет загрузок."</string>
    <string name="missing_title" msgid="830115697868833773">"&lt;Неизвестно&gt;"</string>
    <!-- no translation found for button_sort_by_size (7331549713691146251) -->
    <skip />
    <!-- no translation found for button_sort_by_date (8800842892684101528) -->
    <skip />
    <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="3107369653921738690">"Не удалось"</string>
    <string name="dialog_title_not_available" msgid="4479021195995400471">"Не удалось загрузить"</string>
    <string name="dialog_failed_body" msgid="587545111677064427">"Попробовать еще раз загрузить файл позже или удалить его из очереди?"</string>
    <string name="dialog_title_queued_body" msgid="3062862079904954824">"Файл еще недоступен"</string>
    <string name="dialog_queued_body" msgid="2506935748423351902">"Файл добавлен в очередь загрузки."</string>
    <string name="dialog_file_missing_body" msgid="2783781332668129395">"Не удалось найти загруженный файл."</string>
    <string name="dialog_insufficient_space_on_external" msgid="7534108515812329821">"Невозможно завершить загрузку. На внешнем носителе не хватает места."</string>
    <string name="dialog_insufficient_space_on_cache" msgid="8387210487235302129">"Невозможно завершить загрузку. Во встроенной памяти не хватает места."</string>
    <string name="dialog_cannot_resume" msgid="7704082031608361756">"Загрузка прервана и не может быть возобновлена."</string>
    <string name="dialog_file_already_exists" msgid="2663737850617642888">"Невозможно загрузить. Такой файл уже существует."</string>
    <string name="dialog_media_not_found" msgid="5308602145105720991">"Невозможно загрузить. Внешний носитель не подключен."</string>
    <string name="download_no_application_title" msgid="3501359021635168387">"Невозможно открыть файл"</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>
    <!-- outdated translation 1809608640021589431 -->     <string name="deselect_all" msgid="7986832738563338661">"Снять выделение"</string>
    <!-- no translation found for select_all (5854385570247421586) -->
    <skip />
    <!-- no translation found for selected_count (2101564570019753277) -->
    <skip />
    <!-- no translation found for download_share_dialog (3355867339806448955) -->
    <skip />
</resources>
