<?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 minute"</item>
    <item msgid="6561800022721381078">"15 minute"</item>
    <item msgid="7718735533503035428">"30 minute"</item>
    <item msgid="8784595382489738498">"1 uur"</item>
    <item msgid="1529312035777735084">"2 uur"</item>
  </string-array>
  <string-array name="screen_off_timeout_entries">
    <item msgid="8244337465472020927">"30 minute"</item>
    <item msgid="1001586019759702505">"1 uur"</item>
    <item msgid="5216959047515554188">"3 ure"</item>
    <item msgid="4152882798140628647">"6 ure"</item>
    <item msgid="412984226950404956">"12 ure"</item>
    <item msgid="2178434662173258997">"Nooit"</item>
  </string-array>
  <string-array name="captioning_typeface_selector_titles">
    <item msgid="4410581208185456276">"Verstek"</item>
    <item msgid="9033306684422202101">"Sans-serif"</item>
    <item msgid="1864985245839120339">"Sans-serif gekondenseer"</item>
    <item msgid="2707402752636362906">"Sans-serif-enkelspasie"</item>
    <item msgid="4549910217342216388">"Serif"</item>
    <item msgid="4764344884232052861">"Serif-enkelspasie"</item>
    <item msgid="8561996903323025702">"Gemaklik"</item>
    <item msgid="8403638572764467550">"Kursief"</item>
    <item msgid="5560655268137500927">"Klein hoofletters"</item>
  </string-array>
  <string-array name="captioning_font_size_selector_titles">
    <item msgid="4304493614734189861">"Baie klein"</item>
    <item msgid="1694402928400844023">"Klein"</item>
    <item msgid="1235495470844109970">"Normaal"</item>
    <item msgid="481223375568095790">"Groot"</item>
    <item msgid="8614563351231073075">"Baie groot"</item>
  </string-array>
  <string-array name="captioning_edge_type_selector_titles">
    <item msgid="5333047169042840730">"Geen"</item>
    <item msgid="7663488423233018922">"Raamwerk"</item>
    <item msgid="7891048730741670843">"Val-skaduwee"</item>
    <item msgid="6613725572146700438">"Opgehewe"</item>
    <item msgid="1007736533206905292">"Ingeduik"</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">"Geen"</item>
    <item msgid="4285553044304483453">"MSCHAPV2"</item>
    <item msgid="6368483947549261730">"GTC"</item>
  </string-array>
  <string-array name="wifi_phase2_entries">
    <item msgid="6045894500164997104">"Geen"</item>
    <item msgid="8882779504929278288">"PAP"</item>
    <item msgid="4077030428002510921">"MSCHAP"</item>
    <item msgid="2018529827463508339">"MSCHAPV2"</item>
    <item msgid="7190796629038944307">"GTC"</item>
  </string-array>
</resources>
