<?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">"Modus voor laag energiegebruik"</string>
    <string name="energy_mode_low_subtitle" msgid="2138250509057251435">"met essentiële netwerkfuncties"</string>
    <string name="energy_mode_low_info" msgid="8586799718140263220">"Zet de netwerkverbinding uit als de tv niet wordt gebruikt (stand-bymodus)."</string>
  <string-array name="energy_mode_low_features">
    <item msgid="4976202876230149030">"Essentiële updates en functies"</item>
  </string-array>
    <string name="energy_mode_low_eco_hint" msgid="2421460758847643655"></string>
    <string name="energy_mode_moderate_title" msgid="8306916492188176732">"Modus voor geoptimaliseerd energiegebruik"</string>
    <string name="energy_mode_moderate_subtitle" msgid="7478438819421632774">"met aanbevolen netwerkfuncties"</string>
    <string name="energy_mode_moderate_info" msgid="7254958508156484301">"Staat toe dat functies de tv activeren via het netwerk (Wake-on-LAN)."</string>
    <string name="energy_mode_moderate_all_low_features" msgid="2417504172139004649">"Alle essentiële functies"</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">"Modus voor hoger energiegebruik"</string>
    <string name="energy_mode_high_subtitle" msgid="8710109098343358567">"met aanvullende netwerkfuncties"</string>
    <string name="energy_mode_high_info" msgid="7089288229870320944">"Staat extra functies toe, ook als de tv niet wordt gebruikt."</string>
    <string name="energy_mode_moderate_all_moderate_features" msgid="1518972636963419872">"Alle aanbevolen functies"</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>
