<?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">Opdatering</string>
    <string name="display_name">Opdatering</string>
    <string name="verification_failed_notification">Bekræftelse fejlede</string>
    <string name="verifying_download_notification">Bekræfter 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 kontrolleret: <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">Bekræfter 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="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>
