<?xml version="1.0" encoding="utf-8"?>
<!--
     Copyright (C) 2017-2023 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="fast_charging_title">Hurtig opladning</string>
    <string name="fast_charging_summary">Deaktiver for at reducere den varme, der produceres af enheden, mens du oplader og forlæng batteriets levetid</string>
    <string name="high_touch_sensitivity_title">Høj berøringsfølsomhed</string>
    <string name="high_touch_sensitivity_summary">Forøg berøringsfølsom skærms følsomhed, så den kan bruges med handsker på</string>
    <string name="lock_settings_picker_pattern_size_message">Vælg en mønsterstørrelse</string>
    <string name="lockpattern_settings_enable_error_path_title">Vis mønster-fejl</string>
    <string name="lockpattern_settings_enable_dots_title">Vis mønster-prikker</string>
    <string name="max_refresh_rate_title">Maksimal opdateringshastighed</string>
    <string name="min_refresh_rate_title">Minimum skærm forfriskningstid</string>
    <string name="unlock_scramble_pin_layout_title">Omvælt opsætning</string>
    <string name="unlock_scramble_pin_layout_summary">Omvælt PIN-opsætning, ved oplåsning af enhed</string>
    <string name="tethering_allow_vpn_upstreams_title">Tillad klienter at bruge VPN\'er</string>
    <string name="tethering_allow_vpn_upstreams_summary">Tillad hotspot-klienter at bruge denne enhed\u2019s VPN-forbindelser til upstream-forbindelse</string>
    <string name="assisted_gps_summary">Download satellit-hjælpedata fra internettet, som i høj grad kan forbedre GPS opstartsfunktionen. Til nødopkald er assisteret GPS altid tilladt.</string>
    <string name="backup_transport_setting_label">Skift backup udbyder</string>
    <string name="backup_transport_title">Vælg backup udbyder</string>
    <string name="power_menu_advanced_restart_title">Avanceret genstart</string>
    <string name="power_menu_advanced_restart_summary">Når oplåst, vis muligheder i tænd-/slukmenuen for at genstarte til recovery eller bootloader</string>
    <string name="display_rotation_title">Rotationsindstillinger</string>
    <string name="display_rotation_enabled">Auto-rotation er aktiveret</string>
    <string name="display_rotation_disabled">Auto-rotation er deaktiveret</string>
    <string name="display_rotation_unit">grader</string>
    <string name="display_rotation_category_title">Rotationstilstande</string>
    <string name="display_rotation_0_title">0 grader</string>
    <string name="display_rotation_90_title">90 grader</string>
    <string name="display_rotation_180_title">180 grader</string>
    <string name="display_rotation_270_title">270 grader</string>
    <string name="status_bar_title">Statusbjælke</string>
    <string name="status_bar_system_icons_summary">Kontrollér hvilke statusbjælke-ikoner, der vises</string>
    <string name="charging_control_title">Opladningskontrol</string>
    <string name="charging_control_enable_title">Aktivér opladningskontrol</string>
    <string name="charging_control_mode_title">Opladnings tilstand</string>
    <string name="charging_control_mode_auto_title">Automatisk tidsplan</string>
    <string name="charging_control_mode_auto_summary">Afgør automatisk, hvornår opladningen skal startes baseret på hvornår alarmerne er sat</string>
    <string name="charging_control_mode_custom_title">Brugerdefineret tidsplan</string>
    <string name="charging_control_mode_custom_summary">Afgiv et mål for at være fuldt opladt</string>
    <string name="charging_control_mode_limit_title">Begræns opladning</string>
    <string name="charging_control_mode_limit_summary">Begræns opladning til en vis procent</string>
    <string name="charging_control_start_time_title">Starttidspunkt</string>
    <string name="charging_control_start_time_summary">Opladningskontrol aktiverer, når du starter opladning efter %s</string>
    <string name="charging_control_target_time_title">Mål for at være fuldt opladt</string>
    <string name="charging_control_target_time_summary">Batteriet vil være fuldt opladt klokken %s</string>
    <string name="charging_control_limit_title">Grænse </string>
    <string name="reset">Nulstil</string>
</resources>
