<?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="8396461461738434341">"SIM Toolkit"</string>
    <string name="menu_end_session" msgid="7368541737750982217">"Sfârşitul sesiunii"</string>
    <string name="help" msgid="9209980881219397319">"Ajutor"</string>
    <string name="menu_back" msgid="301227740977453364">"Înapoi"</string>
    <string name="service_name" msgid="6860303747999592491">"Nume serviciu"</string>
    <string name="stk_no_service" msgid="5427773116839809131">"Niciun serviciu disponibil"</string>
    <string name="button_ok" msgid="5760722312558549555">"OK"</string>
    <string name="button_cancel" msgid="1997847915560800261">"Anulaţi"</string>
    <string name="button_yes" msgid="624420260648337203">"Da"</string>
    <string name="button_no" msgid="1824959157582605627">"Nu"</string>
    <string name="alphabet" msgid="1583185545938805861">"Alfabete"</string>
    <string name="digits" msgid="1746796679021682388">"Cifre (0-9, *, #, +)"</string>
    <string name="default_call_setup_msg" msgid="7960194995759849940">"Se apelează..."</string>
    <string name="default_setup_call_msg" msgid="6126904475461162162">"Se configurează apelul"</string>
    <string name="stk_app_state" msgid="18582277302584082">"Starea aplicaţiei"</string>
    <string name="enable_app" msgid="3701224550936728203">"Activat"</string>
    <string name="disable_app" msgid="6725081975611415214">"Dezactivat"</string>
    <string name="stk_dialog_title" msgid="6954825385456886726">"SIM Toolkit"</string>
    <string name="default_open_channel_msg" msgid="2216070254100295924">"Deschideţi canalul?"</string>
    <string name="default_send_data_msg" msgid="6011219698689931272">"Se trimit date"</string>
    <string name="default_receive_data_msg" msgid="618096941772010682">"Se primesc date"</string>
    <string name="default_close_channel_msg" msgid="765364262263839824">"Canal închis"</string>
    <string name="stk_dialog_accept" msgid="8498901537508923727">"DA"</string>
    <string name="stk_dialog_reject" msgid="921848059485746796">"NU"</string>
    <string name="no_sim_card_inserted" msgid="5316620398365235988">"Introduceți cardul SIM ca să lansați setul de instrumente pentru SIM."</string>
</resources>
