<?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">"Thấp"</string>
    <string name="energy_mode_low_subtitle" msgid="7660632849388740009">"Chế độ chờ"</string>
    <string name="energy_mode_low_info" msgid="3931173640626998821">"Chế độ chờ – Tắt kết nối mạng khi không dùng TV"</string>
  <string-array name="energy_mode_low_features">
    <item msgid="4002284890471636101">"[Chèn tính năng 1]"</item>
    <item msgid="7072772341455731040">"[Chèn tính năng 2]"</item>
  </string-array>
    <string name="energy_mode_low_eco_hint" msgid="2421460758847643655"></string>
    <string name="energy_mode_moderate_title" msgid="8612259261851051150">"Tối ưu hoá"</string>
    <string name="energy_mode_moderate_subtitle" msgid="5565533500130453270">"Chế độ chờ có kết nối mạng"</string>
    <string name="energy_mode_moderate_info" msgid="3188005033276283994">"Chế độ chờ có kết nối mạng – Bật các tính năng để đánh thức TV qua mạng"</string>
  <string-array name="energy_mode_moderate_features">
    <item msgid="2654586107956150296">"[Chèn tính năng 1]"</item>
    <item msgid="8724721267222341891">"[Chèn tính năng 2]"</item>
  </string-array>
    <string name="energy_mode_moderate_eco_hint" msgid="252189162446856286"></string>
    <string name="energy_mode_high_title" msgid="7596672058005896920">"Cao hơn"</string>
    <string name="energy_mode_high_subtitle" msgid="5994284096495805422">"Luôn kết nối"</string>
    <string name="energy_mode_high_info" msgid="8805447042714350186">"Luôn kết nối – Bật các tính năng kết nối mạng khi không dùng TV"</string>
  <string-array name="energy_mode_high_features">
    <item msgid="3018897868803319747">"[Chèn tính năng 1]"</item>
    <item msgid="170760143032597722">"[Chèn tính năng 2]"</item>
  </string-array>
    <!-- no translation found for energy_mode_high_eco_hint (3266580507783627848) -->
    <skip />
</resources>
