<?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="5700567801191430606">"Niedrig"</string>
    <string name="energy_mode_low_subtitle" msgid="7660632849388740009">"Standby"</string>
    <string name="energy_mode_low_info" msgid="3931173640626998821">"Standby – Netzwerkverbindung ist deaktiviert, wenn der Fernseher ausgeschaltet ist"</string>
  <string-array name="energy_mode_low_features">
    <item msgid="4002284890471636101">"[Insert feature 1]"</item>
    <item msgid="7072772341455731040">"[Insert feature 2]"</item>
  </string-array>
    <string name="energy_mode_low_eco_hint" msgid="2421460758847643655"></string>
    <string name="energy_mode_moderate_title" msgid="8612259261851051150">"Optimiert"</string>
    <string name="energy_mode_moderate_subtitle" msgid="5565533500130453270">"Vernetzter Bereitschaftsbetrieb"</string>
    <string name="energy_mode_moderate_info" msgid="3188005033276283994">"Vernetzter Bereitschaftsbetrieb – Ruhemodus des Fernsehers kann über das Netzwerk beendet werden"</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="7596672058005896920">"Erhöht"</string>
    <string name="energy_mode_high_subtitle" msgid="5994284096495805422">"Immer verbunden"</string>
    <string name="energy_mode_high_info" msgid="8805447042714350186">"Immer verbunden – Netzwerkfunktionen sind aktiviert, wenn der Fernseher ausgeschaltet ist"</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>
