<?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="verification_failed_notification">Verifikation mislykkedes</string>
    <string name="verifying_download_notification">Verificerer opdatering</string>
    <string name="downloading_notification">Henter</string>
    <string name="download_paused_notification">Overførsel på pause</string>
    <string name="download_paused_error_notification">Overførselsfejl</string>
    <string name="download_completed_notification">Overførsel fuldført</string>
    <string name="download_starting_notification">Starter overførsel</string>
    <string name="update_failed_notification">Opdatering fejlede</string>
    <string name="new_updates_found_title">Nye opdateringer</string>
    <string name="text_download_speed">%1$s, %2$s/s</string>
    <string name="pause_button">Pause</string>
    <string name="resume_button">Genoptag</string>
    <string name="installing_update">Installerer opdateringspakke</string>
    <string name="installing_update_error">Installeringsfejl</string>
    <string name="installing_update_finished">Opdatering installeret</string>
    <string name="finalizing_package">Fuldfører pakkeinstallering</string>
    <string name="preparing_ota_first_boot">Forbereder på første opstart</string>
    <string name="dialog_prepare_zip_message">Indledende opdateringsforberedelse</string>
    <string name="dialog_battery_low_title">Lavt batteriniveau</string>
    <string name="dialog_battery_low_message_pct">Du har for lidt strøm på dit batteri. Du skal mindst bruge <xliff:g id="percent_discharging">%1$d</xliff:g>%% for at installere opdateringen, <xliff:g id="percent_charging">%2$d</xliff:g>%% hvis din enhed oplader.</string>
    <string name="reboot">Genstart</string>
    <string name="menu_refresh">Genopfrisk</string>
    <string name="menu_preferences">Præferencer</string>
    <string name="menu_auto_updates_check">Auto-opdateringskontrol</string>
    <string name="menu_auto_updates_check_interval_never">Aldrig</string>
    <string name="menu_auto_delete_updates">Slet opdateringer, når installeret</string>
    <string name="menu_delete_update">Slet</string>
    <string name="menu_copy_url">Kopiér URL</string>
    <string name="menu_export_update">Eksportér opdatering</string>
    <string name="menu_ab_perf_mode">Prioritér opdateringsproces</string>
    <string name="menu_update_recovery">Opdatér gendannelse</string>
    <string name="toast_forced_update_recovery">Det er umuligt at deaktivere Lineage Gendannelse opdateringer på denne enhed.</string>
    <string name="snack_updates_found">Nye opdateringer fundet</string>
    <string name="snack_no_updates_found">Ingen nye opdateringer fundet</string>
    <string name="snack_updates_check_failed">Opdateringskontrollen fejlede. Kontrollér venligst din internetforbindelse og prøv igen senere.</string>
    <string name="snack_download_failed">Overførslen fejlede. Kontrollér venligst din internetforbindelse og prøv igen senere.</string>
    <string name="snack_download_verification_failed">Opdateringsbekræftelsen fejlede.</string>
    <string name="snack_download_verified">Overførsel fuldført.</string>
    <string name="snack_update_not_installable">Denne opdatering kan ikke installeres ovenpå det nuværende build.</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">Sidst tjekket: <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_download_progress_new"><xliff:g id="filesize_without_unit" example="12.2">%1$s</xliff:g> af <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="list_verifying_update">Verificerer opdatering</string>
    <string name="list_no_updates">Ingen nye opdateringer fundet. Brug Genopfrisk-knappen, for manuel kontrol af nye opdateringer.</string>
    <string name="action_download">Hent</string>
    <string name="action_pause">Pause</string>
    <string name="action_resume">Genoptag</string>
    <string name="action_install">Installér</string>
    <string name="action_info">Info</string>
    <string name="action_delete">Slet</string>
    <string name="action_cancel">Afbryd</string>
    <string name="confirm_delete_dialog_title">Slet fil</string>
    <string name="confirm_delete_dialog_message">Slet den valgte opdateringsfil?</string>
    <string name="apply_update_dialog_title">Anvend opdatering</string>
    <string name="apply_update_dialog_message">Du er ved at opgradere til <xliff:g id="update_name">%1$s</xliff:g>.\n\nHvis du trykker på <xliff:g id="ok">%2$s</xliff:g>, vil enheden genstarte sig selv i gendannelsestilstand, for at installere opdateringen.\n\nBemærk: Denne funktion kræver en kompatibel Gendannelse, ellers vil opdateringer skulle installeres manuelt.</string>
    <string name="apply_update_dialog_message_ab">Du er ved at opgradere til <xliff:g id="update_name">%1$s </xliff:g>.\n\nHvis du trykker på <xliff:g id="ok">%2$s</xliff:g>, vil enheden begynde at installere i baggrunden.\n\nSå snart den er færdig, vil du blive bedt om at genstarte.</string>
    <string name="cancel_installation_dialog_message">Afbryd installeringen?</string>
    <string name="label_download_url">Hent URL</string>
    <string name="toast_download_url_copied">URL kopieret</string>
    <string name="dialog_export_title">Eksporterer opdatering</string>
    <string name="notification_export_success">Opdatering eksporteret</string>
    <string name="notification_export_fail">Eksportfejl</string>
    <string name="toast_already_exporting">Eksporterer allerede en opdatering</string>
    <string name="update_on_mobile_data_title">Advarsel</string>
    <string name="update_on_mobile_data_message">Du er ved at hente en opdateringspakke vha. mobildata, hvilket sandsynligvis vil forårsage højt dataforbrug. Ønsker du at fortsætte?</string>
    <string name="checkbox_mobile_data_warning">Vis ikke igen</string>
    <string name="menu_mobile_data_warning">Mobildata-advarsel</string>
    <string name="blocked_update_dialog_title">Opdatering blokeret</string>
    <string name="blocked_update_dialog_message">Denne opdatering kan ikke installeres over opdatering-app\'en. Læs venligst <xliff:g id="info_url">%1$s</xliff:g> for mere information.</string>
    <string name="export_channel_title">Eksport fuldførelse</string>
    <string name="new_updates_channel_title">Nye opdateringer</string>
    <string name="ongoing_channel_title">Igangværende Downloads</string>
    <string name="update_failed_channel_title">Opdatering fejlede</string>
</resources>
