<?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="1213527366819650274">"5 minutit"</item>
    <item msgid="6561800022721381078">"15 minutit"</item>
    <item msgid="7718735533503035428">"30 minutit"</item>
    <item msgid="8784595382489738498">"1 tund"</item>
    <item msgid="1529312035777735084">"2 tundi"</item>
  </string-array>
  <string-array name="screen_off_timeout_entries">
    <item msgid="8244337465472020927">"30 minutit"</item>
    <item msgid="1001586019759702505">"1 tund"</item>
    <item msgid="5216959047515554188">"3 tundi"</item>
    <item msgid="4152882798140628647">"6 tundi"</item>
    <item msgid="412984226950404956">"12 tundi"</item>
    <item msgid="2178434662173258997">"Mitte kunagi"</item>
  </string-array>
  <string-array name="captioning_typeface_selector_titles">
    <item msgid="4410581208185456276">"Vaikeseade"</item>
    <item msgid="9033306684422202101">"Sans-serif"</item>
    <item msgid="1864985245839120339">"Sans-serif, tihendatud"</item>
    <item msgid="2707402752636362906">"Seriifideta püsisammkiri"</item>
    <item msgid="4549910217342216388">"Seriifidega"</item>
    <item msgid="4764344884232052861">"Seriifidega püsisammkiri"</item>
    <item msgid="8561996903323025702">"Sidumata kiri"</item>
    <item msgid="8403638572764467550">"Kursiiv"</item>
    <item msgid="5560655268137500927">"Kapiteelkiri"</item>
  </string-array>
  <string-array name="captioning_font_size_selector_titles">
    <item msgid="4304493614734189861">"Väga väike"</item>
    <item msgid="1694402928400844023">"Väike"</item>
    <item msgid="1235495470844109970">"Tavaline"</item>
    <item msgid="481223375568095790">"Suur"</item>
    <item msgid="8614563351231073075">"Väga suur"</item>
  </string-array>
  <string-array name="captioning_edge_type_selector_titles">
    <item msgid="5333047169042840730">"Puudub"</item>
    <item msgid="7663488423233018922">"Piirjoon"</item>
    <item msgid="7891048730741670843">"Langev vari"</item>
    <item msgid="6613725572146700438">"Tõstetud"</item>
    <item msgid="1007736533206905292">"Lohkus"</item>
  </string-array>
  <string-array name="captioning_opacity_selector_titles">
    <item msgid="7311196539184412021">"25%"</item>
    <item msgid="4609292560884303243">"50%"</item>
    <item msgid="1626485489418859846">"75%"</item>
    <item msgid="1811192455405034366">"100%"</item>
  </string-array>
  <string-array name="wifi_peap_phase2_entries">
    <item msgid="3169715859250399076">"Puudub"</item>
    <item msgid="4285553044304483453">"MSCHAPV2"</item>
    <item msgid="6368483947549261730">"GTC"</item>
  </string-array>
  <string-array name="wifi_phase2_entries">
    <item msgid="6045894500164997104">"Puudub"</item>
    <item msgid="8882779504929278288">"PAP"</item>
    <item msgid="4077030428002510921">"MSCHAP"</item>
    <item msgid="2018529827463508339">"MSCHAPV2"</item>
    <item msgid="7190796629038944307">"GTC"</item>
  </string-array>
</resources>
