<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2014 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-array name="sleep_timeout_entries">
    <item msgid="7643657925154052320">"5 минут"</item>
    <item msgid="6144296358870917421">"15 минут"</item>
    <item msgid="1532366273541603403">"30 минут"</item>
    <item msgid="2085428169229240524">"1 час"</item>
    <item msgid="1721833099003792021">"2 часа"</item>
  </string-array>
  <string-array name="device_energy_saver_sleep_timeout_entries">
    <item msgid="6307555102195450269">"15 минут"</item>
    <item msgid="258357076819815564">"20 минут"</item>
    <item msgid="5804127335928888034">"30 минут"</item>
    <item msgid="925893486812178922">"1 час"</item>
    <item msgid="5078514399046733929">"4 часа"</item>
    <item msgid="4734498910045400535">"8 часов"</item>
    <item msgid="5969796901648455583">"12 часов"</item>
    <item msgid="5034242362688847963">"24 часа"</item>
    <item msgid="940743686898651116">"Никогда"</item>
  </string-array>
  <string-array name="device_energy_saver_attentive_timeout_entries">
    <item msgid="3361047879614054539">"4 часа"</item>
    <item msgid="680279399507109560">"6 часов"</item>
    <item msgid="8718228763761076871">"8 часов"</item>
    <item msgid="4952174685842622512">"Никогда"</item>
  </string-array>
  <string-array name="captioning_typeface_selector_titles">
    <item msgid="890926483922346934">"По умолчанию"</item>
    <item msgid="3343022995357433227">"Без засечек"</item>
    <item msgid="5638318073828379963">"Без засечек, сжатый"</item>
    <item msgid="7195810992054707804">"Без засечек, моноширинный"</item>
    <item msgid="3746382747920668734">"С засечками"</item>
    <item msgid="5506326688955062027">"C засечками, моноширинный"</item>
    <item msgid="8403464187584231231">"Неофициальный"</item>
    <item msgid="6220546425366299741">"Курсив"</item>
    <item msgid="1456504206632415023">"Малые прописные"</item>
  </string-array>
  <string-array name="captioning_font_size_selector_titles">
    <item msgid="2544683044075498815">"Очень мелкий"</item>
    <item msgid="4812733698855185131">"Мелкий"</item>
    <item msgid="628695363180883207">"Средний"</item>
    <item msgid="7397980392121949818">"Крупный"</item>
    <item msgid="8774213681644780958">"Очень крупный"</item>
  </string-array>
  <string-array name="captioning_edge_type_selector_titles">
    <item msgid="4482240152068132930">"Нет"</item>
    <item msgid="8734279541070888851">"Обычный"</item>
    <item msgid="4018027888850818563">"С тенью"</item>
    <item msgid="5156498342956725270">"Приподнятый"</item>
    <item msgid="3944101071491815363">"Утопленный"</item>
  </string-array>
  <string-array name="captioning_opacity_selector_titles">
    <item msgid="5486561918584724312">"25%"</item>
    <item msgid="6571958570070138850">"50%"</item>
    <item msgid="8127599536762217559">"75%"</item>
    <item msgid="4680121960387090302">"100%"</item>
  </string-array>
  <string-array name="font_scale_entries">
    <item msgid="6953338104484431184">"Мелкий"</item>
    <item msgid="3988732129988118066">"По умолчанию"</item>
    <item msgid="366536516474422757">"Крупный"</item>
    <item msgid="2224819763437549790">"Самый крупный"</item>
  </string-array>
  <string-array name="wifi_peap_phase2_entries">
    <item msgid="5504589898033185752">"Нет"</item>
    <item msgid="7421097083214266845">"MSCHAPV2"</item>
    <item msgid="1160776373339603784">"GTC"</item>
  </string-array>
  <string-array name="wifi_phase2_entries">
    <item msgid="9208428577430898855">"Нет"</item>
    <item msgid="299855611943030840">"PAP"</item>
    <item msgid="4168234302019013836">"MSCHAP"</item>
    <item msgid="3665868694672130423">"MSCHAPV2"</item>
    <item msgid="1778635393795831325">"GTC"</item>
  </string-array>
</resources>
