<?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">"Ցածր"</string>
    <string name="energy_mode_low_subtitle" msgid="7660632849388740009">"Սպասման ռեժիմ"</string>
    <string name="energy_mode_low_info" msgid="3931173640626998821">"Սպասման ռեժիմ․ ցանցի հետ կապն անջատվում է, երբ հեռուստացույցը չի օգտագործվում"</string>
  <string-array name="energy_mode_low_features">
    <item msgid="4002284890471636101">"[Ներմուծել գործառույթ 1-ը]"</item>
    <item msgid="7072772341455731040">"[Ներմուծել գործառույթ 2-ը]"</item>
  </string-array>
    <string name="energy_mode_low_eco_hint" msgid="2421460758847643655"></string>
    <string name="energy_mode_moderate_title" msgid="8612259261851051150">"Օպտիմալացված"</string>
    <string name="energy_mode_moderate_subtitle" msgid="5565533500130453270">"Ցանցային միացումով սպասման ռեժիմ"</string>
    <string name="energy_mode_moderate_info" msgid="3188005033276283994">"Ցանցային միացումով սպասման ռեժիմ․ միացնում է գործառույթները, որոնք արթնացնում են հեռուստացույցը ցանցի միջոցով"</string>
  <string-array name="energy_mode_moderate_features">
    <item msgid="2654586107956150296">"[Ներմուծել գործառույթ 1-ը]"</item>
    <item msgid="8724721267222341891">"[Ներմուծել գործառույթ 2-ը]"</item>
  </string-array>
    <string name="energy_mode_moderate_eco_hint" msgid="252189162446856286"></string>
    <string name="energy_mode_high_title" msgid="7596672058005896920">"Բարձր"</string>
    <string name="energy_mode_high_subtitle" msgid="5994284096495805422">"Միշտ միացած"</string>
    <string name="energy_mode_high_info" msgid="8805447042714350186">"Միշտ միացած․ միացնում է ցանցային գործառույթները, երբ հեռուստացույցը չի օգտագործվում"</string>
  <string-array name="energy_mode_high_features">
    <item msgid="3018897868803319747">"[Ներմուծել գործառույթ 1-ը]"</item>
    <item msgid="170760143032597722">"[Ներմուծել գործառույթ 2-ը]"</item>
  </string-array>
    <!-- no translation found for energy_mode_high_eco_hint (3266580507783627848) -->
    <skip />
</resources>
