<?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="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="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_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="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="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_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="new_updates_channel_title">Nye opdateringer</string>
    <string name="update_failed_channel_title">Opdatering fejlede</string>
</resources>
