<?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">"Low"</string>
    <string name="energy_mode_low_subtitle" msgid="7660632849388740009">"Standby"</string>
    <string name="energy_mode_low_info" msgid="3931173640626998821">"Standby — Network connection is off when the TV is not in use"</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">"Optimised"</string>
    <string name="energy_mode_moderate_subtitle" msgid="5565533500130453270">"Networked standby"</string>
    <string name="energy_mode_moderate_info" msgid="3188005033276283994">"Networked standby — Enables features to wake up the TV over the network"</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">"Increased"</string>
    <string name="energy_mode_high_subtitle" msgid="5994284096495805422">"Always connected"</string>
    <string name="energy_mode_high_info" msgid="8805447042714350186">"Always connected — Enables network features when TV is not in use"</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>
