<?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">"Hali ya nishati chache"</string>
    <string name="energy_mode_low_subtitle" msgid="2138250509057251435">"na vipengele vya mtandao vya msingi"</string>
    <string name="energy_mode_low_info" msgid="8586799718140263220">"Zima muunganisho wa mtandao wakati TV haitumiki (hali tuli)."</string>
  <string-array name="energy_mode_low_features">
    <item msgid="4976202876230149030">"Masasisho na utendaji muhimu"</item>
  </string-array>
    <string name="energy_mode_low_eco_hint" msgid="2421460758847643655"></string>
    <string name="energy_mode_moderate_title" msgid="8306916492188176732">"Hali iliyoboreshwa ya nishati"</string>
    <string name="energy_mode_moderate_subtitle" msgid="7478438819421632774">"na vipengele vya mtandao vinavyopendekezwa"</string>
    <string name="energy_mode_moderate_info" msgid="7254958508156484301">"Huruhusu vipengele vinavyowasha skrini ya TV kupitia mtandao (hali tuli kwenye mtandao)."</string>
    <string name="energy_mode_moderate_all_low_features" msgid="2417504172139004649">"Vipengele vyote muhimu"</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">"Hali ya nishati nyingi"</string>
    <string name="energy_mode_high_subtitle" msgid="8710109098343358567">"na vipengele vya mtandao vya ziada"</string>
    <string name="energy_mode_high_info" msgid="7089288229870320944">"Huruhusu vipengele vya ziada hata wakati TV haitumiki."</string>
    <string name="energy_mode_moderate_all_moderate_features" msgid="1518972636963419872">"Vipengele vyote vinavyopendekezwa"</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>
