<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2017-2020 The LineageOS 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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_name">Оновлення</string>
    <string name="display_name">Оновлення</string>
    <string name="verification_failed_notification">Не вдалося виконати перевірку</string>
    <string name="verifying_download_notification">Перевірка оновлення</string>
    <string name="downloading_notification">Завантаження</string>
    <string name="download_paused_notification">Завантаження призупинено</string>
    <string name="download_paused_error_notification">Помилка завантаження</string>
    <string name="download_completed_notification">Завантаження завершено</string>
    <string name="download_starting_notification">Початок завантаження</string>
    <string name="new_updates_found_title">Нові оновлення</string>
    <string name="text_download_speed">%1$s, %2$s/с</string>
    <string name="pause_button">Пауза</string>
    <string name="resume_button">Продовжити</string>
    <string name="installing_update">Пакунок оновлення встановлюється</string>
    <string name="installing_update_error">Помилка встановлення</string>
    <string name="installing_update_finished">Оновлення встановлено</string>
    <string name="finalizing_package">Завершення встановлення</string>
    <string name="preparing_ota_first_boot">Підготовка до першого завантаження</string>
    <string name="dialog_prepare_zip_message">Підготовка оновлення</string>
    <string name="reboot">Перезавантаження</string>
    <string name="menu_refresh">Оновити</string>
    <string name="menu_preferences">Параметри</string>
    <string name="menu_auto_updates_check">Автоматична перевірка оновлень</string>
    <string name="menu_auto_updates_check_interval_daily">Щодня</string>
    <string name="menu_auto_updates_check_interval_weekly">Щотижня</string>
    <string name="menu_auto_updates_check_interval_monthly">Щомісяця</string>
    <string name="menu_auto_updates_check_interval_never">Ніколи</string>
    <string name="menu_auto_delete_updates">Видалити файли оновлення після інсталяції</string>
    <string name="menu_delete_update">Видалити</string>
    <string name="menu_copy_url">Копіювати URL</string>
    <string name="menu_export_update">Експорт оновлення</string>
    <string name="menu_show_changelog">Журнал змін</string>
    <string name="menu_update_recovery">Оновлювати рекавері</string>
    <string name="snack_updates_found">Знайдено оновлення</string>
    <string name="snack_no_updates_found">Оновлень не знайдено</string>
    <string name="snack_updates_check_failed">Перевірка оновлення не вдалася. Будь-ласка перевірте з’єднання з мережею і спробуйте ще раз.</string>
    <string name="snack_download_failed">Завантаження оновлення не вдалось. Будь-ласка перевірте з’єднання з мережею і спробуйте ще раз.</string>
    <string name="snack_download_verification_failed">Не пройшла перевірка оновлення.</string>
    <string name="snack_download_verified">Завантаження завершено.</string>
    <string name="snack_update_not_installable">Це оновлення не можна інсталювати на поточну збірку.</string>
    <string name="header_title_text">LineageOS\n%1$s</string>
    <string name="header_android_version">Android <xliff:g id="version" example="7.1.2">%1$s</xliff:g></string>
    <string name="header_last_updates_check">Остання перевірка: <xliff:g id="date" example="1 January 1970">%1$s</xliff:g> (<xliff:g id="time" example="01:23">%2$s</xliff:g>)</string>
    <string name="list_build_version">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g></string>
    <string name="list_build_version_date">LineageOS <xliff:g id="version" example="14.1">%1$s</xliff:g> - <xliff:g id="date" example="July 11, 2017">%2$s</xliff:g></string>
    <string name="list_verifying_update">Перевірка оновлення</string>
    <string name="list_no_updates">Оновлень не знайдено. Щоб вручну перевірити наявність оновлень, натисніть кнопку Оновити.</string>
    <string name="action_download">Завантажити</string>
    <string name="action_install">Встановити</string>
    <string name="action_cancel">Скасувати</string>
    <string name="confirm_delete_dialog_title">Видалити файл</string>
    <string name="confirm_delete_dialog_message">Видалити обраний файл оновлення?</string>
    <string name="apply_update_dialog_title">Застосувати оновлення</string>
    <string name="cancel_installation_dialog_message">Скасувати встановлення?</string>
    <string name="label_download_url">URL-адреса завантаження</string>
    <string name="toast_download_url_copied">URL-адресу скопійовано</string>
    <string name="dialog_export_title">Експорт оновлення</string>
    <string name="notification_export_success">Оновлення експортовано</string>
    <string name="notification_export_fail">Помилка експорту</string>
    <string name="update_on_mobile_data_title">Попередження</string>
    <string name="update_on_mobile_data_message">Ви збираєтесь завантажити пакет оновлень за допомогою мобільних даних, що ймовірно призведе до високого використання мобільного трафіку. Хочете продовжити?</string>
    <string name="checkbox_mobile_data_warning">Не показувати знову</string>
    <string name="menu_mobile_data_warning">Попередження про мобільні дані</string>
    <string name="blocked_update_dialog_title">Оновлення заблоковане</string>
    <string name="blocked_update_dialog_message">Це оновлення не можна інсталювати за допомогою штатного оновлювача.  Будь ласка, прочитайте <xliff:g id="info_url">%1$s</xliff:g> для отримання додаткової інформації.</string>
    <string name="new_updates_channel_title">Нові оновлення</string>
    <string name="ongoing_channel_title">Поточні завантаження</string>
</resources>
