<?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">"Režim nízkej spotreby energie"</string>
    <string name="energy_mode_low_subtitle" msgid="2138250509057251435">"so základnými funkciami siete"</string>
    <string name="energy_mode_low_info" msgid="8586799718140263220">"Vypnúť pripojenie k sieti, keď televízor nikto nepoužíva (pohotovostný režim)."</string>
  <string-array name="energy_mode_low_features">
    <item msgid="4976202876230149030">"Dôležité aktualizácie a funkcie"</item>
  </string-array>
    <string name="energy_mode_low_eco_hint" msgid="2421460758847643655"></string>
    <string name="energy_mode_moderate_title" msgid="8306916492188176732">"Režim optimalizovanej spotreby energie"</string>
    <string name="energy_mode_moderate_subtitle" msgid="7478438819421632774">"s odporúčanými funkciami siete"</string>
    <string name="energy_mode_moderate_info" msgid="7254958508156484301">"Ponúka funkcie, ktoré televízor prebudia cez sieť (pohotovostný režim pri pripojení)."</string>
    <string name="energy_mode_moderate_all_low_features" msgid="2417504172139004649">"Všetky nevyhnutné funkcie"</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">"Režim zvýšenej spotreby energie"</string>
    <string name="energy_mode_high_subtitle" msgid="8710109098343358567">"s ďalšími funkciami siete"</string>
    <string name="energy_mode_high_info" msgid="7089288229870320944">"Ponúka ďalšie funkcie, aj keď sa televízor nepoužíva."</string>
    <string name="energy_mode_moderate_all_moderate_features" msgid="1518972636963419872">"Všetky odporúčané funkcie"</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>
