<?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="playback_rate">
    <item msgid="2256013827330361362">"-32x"</item>
    <item msgid="8015022487770548480">"-16x"</item>
    <item msgid="6059574568244647874">"-8x"</item>
    <item msgid="2843793773083341043">"-4x"</item>
    <item msgid="9116032734624497341">"-2x"</item>
    <item msgid="8985811210531660085">"2x"</item>
    <item msgid="8446986380658461054">"4x"</item>
    <item msgid="8690234526777393881">"8x"</item>
    <item msgid="5018600639704774041">"16x"</item>
    <item msgid="1207415094508824492">"32x"</item>
  </string-array>
  <string-array name="ampm">
    <item msgid="4375405926289364989">"a.m."</item>
    <item msgid="4802437431289555052">"p.m."</item>
  </string-array>
    <string name="date_separator" msgid="7882269975674640060">"/"</string>
    <string name="time_separator" msgid="7760859333083008983">":"</string>
    <string name="text_obfuscation_toggle_caption" msgid="3785289190730642093">"Ocultar contrasinal"</string>
</resources>
