<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2023 The Android Open Source 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:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="energy_mode_low_title" msgid="1975446673545235501">"Lavt energiforbrug"</string>
    <string name="energy_mode_low_subtitle" msgid="2138250509057251435">"med vigtige netværksfunktioner"</string>
    <string name="energy_mode_low_info" msgid="8586799718140263220">"Afbryd netværksforbindelsen, når fjernsynet ikke er i brug (standbytilstand)."</string>
  <string-array name="energy_mode_low_features">
    <item msgid="4976202876230149030">"Vigtige opdateringer og funktioner"</item>
  </string-array>
    <string name="energy_mode_low_eco_hint" msgid="2421460758847643655"></string>
    <string name="energy_mode_moderate_title" msgid="8306916492188176732">"Optimeret energiforbrug"</string>
    <string name="energy_mode_moderate_subtitle" msgid="7478438819421632774">"med anbefalede netværksfunktioner"</string>
    <string name="energy_mode_moderate_info" msgid="7254958508156484301">"Giver funktioner tilladelse til at vække fjernsynet via netværket (netværkstilsluttet standbytilstand)."</string>
    <string name="energy_mode_moderate_all_low_features" msgid="2417504172139004649">"Alle grundlæggende funktioner"</string>
  <string-array name="energy_mode_moderate_features">
    <item msgid="2654586107956150296">"[Insert feature 1]"</item>
    <item msgid="8724721267222341891">"[Insert feature 2]"</item>
  </string-array>
    <string name="energy_mode_moderate_eco_hint" msgid="252189162446856286"></string>
    <string name="energy_mode_high_title" msgid="6636328986387241066">"Øget energiforbrug"</string>
    <string name="energy_mode_high_subtitle" msgid="8710109098343358567">"med yderligere netværksfunktioner"</string>
    <string name="energy_mode_high_info" msgid="7089288229870320944">"Aktiverer yderligere funktioner, selv når fjernsynet ikke er i brug."</string>
    <string name="energy_mode_moderate_all_moderate_features" msgid="1518972636963419872">"Alle anbefalede funktioner"</string>
  <string-array name="energy_mode_high_features">
    <item msgid="3018897868803319747">"[Insert feature 1]"</item>
    <item msgid="170760143032597722">"[Insert feature 2]"</item>
  </string-array>
    <!-- no translation found for energy_mode_high_eco_hint (3266580507783627848) -->
    <skip />
</resources>
