<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2007 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="app_name" msgid="3369897473091780760">"Kit de herramientas de SIM"</string>
    <string name="menu_end_session" msgid="9087134977926181033">"Finalizar sesión"</string>
    <string name="help" msgid="1290449694178547017">"Ayuda"</string>
    <string name="menu_back" msgid="7136697148453089659">"Atrás"</string>
    <string name="service_name" msgid="6767598098497885828">"Nombre del servicio"</string>
    <string name="stk_no_service" msgid="1905632157498220090">"No hay servicio disponible"</string>
    <string name="button_ok" msgid="7914432227722142434">"Aceptar"</string>
    <string name="button_cancel" msgid="137404731092374681">"Cancelar"</string>
    <string name="button_yes" msgid="755426085739326674">"Sí"</string>
    <string name="button_no" msgid="564962410861983724">"No"</string>
    <string name="alphabet" msgid="9068318253752197929">"Letras del alfabeto"</string>
    <string name="digits" msgid="7391551783961486324">"Dígitos (0-9, *, #, +)"</string>
    <string name="default_call_setup_msg" msgid="6490156065165946828">"Llamada en curso..."</string>
    <string name="default_setup_call_msg" msgid="5819132588246209714">"Configurando llamada"</string>
    <string name="stk_app_state" msgid="6274976677198791616">"Estado de la aplicación"</string>
    <string name="enable_app" msgid="1980493713217690903">"Activado"</string>
    <string name="disable_app" msgid="2298201833946002357">"Desactivado"</string>
    <string name="stk_dialog_title" msgid="1047336800509270520">"Kit de herramientas de la tarjeta SIM"</string>
    <string name="default_tone_dialog_msg" msgid="8354658178971283852">"Reproduciendo tono"</string>
    <string name="default_open_channel_msg" msgid="2043011408855389673">"¿Deseas abrir el canal?"</string>
    <string name="default_send_data_msg" msgid="6602200147341683792">"Enviando datos"</string>
    <string name="default_receive_data_msg" msgid="5545535916402887726">"Recibiendo datos"</string>
    <string name="default_close_channel_msg" msgid="6320648502339362951">"Canal cerrado"</string>
    <string name="stk_dialog_accept" msgid="2899431442032305374">"SÍ"</string>
    <string name="stk_dialog_reject" msgid="1455086565615694879">"NO"</string>
    <string name="no_sim_card_inserted" msgid="3177955793136053581">"Inserta la SIM para iniciar el Kit de herramientas de SIM."</string>
    <string name="stk_channel_name" msgid="3945765236566954372">"Mensajes de servicio móvil"</string>
</resources>
