<?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">Eguneratzailea</string>
    <string name="display_name">Eguneratzailea</string>
    <string name="verification_failed_notification">Egiaztapenak huts egin du</string>
    <string name="verifying_download_notification">Eguneraketa egiaztatzen</string>
    <string name="downloading_notification">Deskargatzen</string>
    <string name="download_paused_notification">Deskarga pausatuta</string>
    <string name="download_paused_error_notification">Deskarga-errorea</string>
    <string name="download_completed_notification">Deskarga osatuta</string>
    <string name="download_starting_notification">Deskarga hasten</string>
    <string name="update_failed_notification">Eguneraketak huts egin du</string>
    <string name="installation_suspended_notification">Instalazioa eten da</string>
    <string name="new_updates_found_title">Eguneraketa berriak</string>
    <string name="text_download_speed">%1$s, %2$s/s</string>
    <string name="pause_button">Pausatu</string>
    <string name="resume_button">Berrekin</string>
    <string name="suspend_button">Eten</string>
    <string name="installing_update">Eguneraketa-paketea instalatzen</string>
    <string name="installing_update_error">Instalazio-errorea</string>
    <string name="installing_update_finished">Eguneraketa instalatuta</string>
    <string name="finalizing_package">Paketearen instalazioarekin bukatzen</string>
    <string name="preparing_ota_first_boot">Lehen abiorako prestatzen</string>
    <string name="dialog_prepare_zip_message">Aldez aurreko eguneraketaren prestaketa</string>
    <string name="dialog_battery_low_title">Bateria gutxi</string>
    <string name="dialog_battery_low_message_pct">Bateria maila baxuegia da, gutxienez bateriaren %% <xliff:g id="percent_discharging">%1$d</xliff:g> behar da jarraitzeko, %% <xliff:g id="percent_charging">%2$d</xliff:g> kargatzen badago.</string>
    <string name="reboot">Berrabiarazi</string>
    <string name="menu_refresh">Freskatu</string>
    <string name="menu_preferences">Hobespenak</string>
    <string name="menu_auto_updates_check">Eguneraketen egiaztaketa automatikoa</string>
    <string name="menu_auto_updates_check_interval_daily">Egunean behin</string>
    <string name="menu_auto_updates_check_interval_weekly">Astean behin</string>
    <string name="menu_auto_updates_check_interval_monthly">Hilabetean behin</string>
    <string name="menu_auto_updates_check_interval_never">Inoiz ez</string>
    <string name="menu_auto_delete_updates">Ezabatu eguneraketak instalatutakoan</string>
    <string name="menu_delete_update">Ezabatu</string>
    <string name="menu_copy_url">Kopiatu URL-a</string>
    <string name="menu_export_update">Esportatu eguneraketa</string>
    <string name="menu_show_changelog">Erakutsi aldaketa-egunkaria</string>
    <string name="menu_ab_perf_mode">Eman lehentasuna eguneraketa prozesuari</string>
    <string name="snack_updates_found">Eguneraketa berriak aurkitu dira</string>
    <string name="snack_no_updates_found">Ez da eguneraketa berririk aurkitu</string>
    <string name="snack_updates_check_failed">Eguneraketa bilaketak huts egin du. Interneterako konexioa egiaztatu eta berriro saiatu, mesedez.</string>
    <string name="snack_download_verification_failed">Eguneraketaren egiaztaketak huts egin du.</string>
    <string name="snack_download_verified">Deskarga osatuta.</string>
    <string name="snack_update_not_installable">Eguneraketa hau ezin da instalatu uneko konpilazioaren gainean.</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">Azken egiaztaketa: <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">Eguneraketa egiaztatzen</string>
    <string name="list_no_updates">Ez da eguneraketa berririk aurkitu. Eguneraketak eskuz egiaztatzeko, erabili freskatze botoia.</string>
    <string name="action_download">Deskargatu</string>
    <string name="action_pause">Pausatu</string>
    <string name="action_resume">Berrekin</string>
    <string name="action_install">Instalatu</string>
    <string name="action_info">Informazioa</string>
    <string name="action_delete">Ezabatu</string>
    <string name="action_cancel">Utzi</string>
    <string name="confirm_delete_dialog_title">Ezabatu fitxategia</string>
    <string name="confirm_delete_dialog_message">Ezabatu hautatutako eguneraketa fitxategia?</string>
    <string name="apply_update_dialog_title">Aplikatu eguneraketa</string>
    <string name="cancel_installation_dialog_message">Ezeztatu instalazioa?</string>
    <string name="label_download_url">Deskargaren URL-s</string>
    <string name="toast_download_url_copied">URL-a kopiatuta</string>
    <string name="dialog_export_title">Eguneraketa esportatzen</string>
    <string name="notification_export_success">Eguneraketa esportatuta</string>
    <string name="notification_export_fail">Esportazio errorea</string>
    <string name="toast_already_exporting">Eguneraketa bat esportatzen dagoeneko</string>
    <plurals name="eta_seconds">
        <item quantity="one">Segundo 1 geratzen da</item>
        <item quantity="other"><xliff:g id="count">%d</xliff:g> segundo geratzen dira</item>
    </plurals>
    <plurals name="eta_minutes">
        <item quantity="one">Minutu 1 geratzen da</item>
        <item quantity="other"><xliff:g id="count">%d</xliff:g> minutu geratzen dira</item>
    </plurals>
    <plurals name="eta_hours">
        <item quantity="one">Ordu 1 geratzen da</item>
        <item quantity="other"><xliff:g id="count">%d</xliff:g> ordu geratzen dira</item>
    </plurals>
    <string name="update_on_mobile_data_title">Abisua</string>
    <string name="update_on_mobile_data_message">Eguneratze pakete bat deskargatuko duzu datu mugikorrak erabiliz, honek datuen erabilera handia egingo du. Ziur aurrera jarraitu nahi duzula?</string>
    <string name="checkbox_mobile_data_warning">Ez erakutsi berriro</string>
    <string name="menu_mobile_data_warning">Datu mugikorren abisua</string>
    <string name="blocked_update_dialog_title">Eguneraketa blokeatuta</string>
    <string name="blocked_update_dialog_message">Eguneraketa hau ezin da eguneratze-aplikazioarekin instalatu. Irakurri <xliff:g id="info_url">%1$s</xliff:g> informazio gehiagorako.</string>
    <string name="export_channel_title">Esportazioaren osaketa</string>
    <string name="new_updates_channel_title">Eguneraketa berriak</string>
    <string name="ongoing_channel_title">Deskargak abian</string>
    <string name="update_failed_channel_title">Eguneraketak huts egin du</string>
</resources>
