<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2017 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="update_failed_notification">Agiornamentu fallidu</string>
    <string name="new_updates_found_title">Agiornamentos noos</string>
    <string name="pause_button">Pàusa</string>
    <string name="resume_button">Sighi</string>
    <string name="installing_update_finished">Agiornamentu installadu</string>
    <string name="reboot">Torra a allùghere</string>
    <string name="menu_preferences">Preferèntzias</string>
    <string name="menu_delete_update">Iscantzella</string>
    <string name="list_download_progress_new"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> de <xliff:g id="filesize_without_unit" example="310 MB">%2$s</xliff:g> • <xliff:g id="percentage" example="56">%3$s</xliff:g></string>
    <string name="action_download">Iscàrriga</string>
    <string name="action_pause">Pàusa</string>
    <string name="action_resume">Sighi</string>
    <string name="action_install">Installa</string>
    <string name="action_info">Informatziones</string>
    <string name="action_delete">Iscantzella</string>
    <string name="action_cancel">Annulla</string>
    <string name="update_on_mobile_data_title">Atentzione</string>
    <string name="new_updates_channel_title">Agiornamentos noos</string>
    <string name="update_failed_channel_title">Agiornamentu fallidu</string>
</resources>
