<?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"</string>
    <string name="menu_end_session" msgid="7368541737750982217">"Скончыць сеанс"</string>
    <string name="help" msgid="9209980881219397319">"Даведка"</string>
    <string name="menu_back" msgid="301227740977453364">"Назад"</string>
    <string name="service_name" msgid="6860303747999592491">"Імя службы"</string>
    <string name="stk_no_service" msgid="5427773116839809131">"Абслугоўванне недаступна"</string>
    <string name="button_ok" msgid="5760722312558549555">"ОК"</string>
    <string name="button_cancel" msgid="1997847915560800261">"Адмяніць"</string>
    <string name="button_yes" msgid="624420260648337203">"Так"</string>
    <string name="button_no" msgid="1824959157582605627">"Не"</string>
    <string name="alphabet" msgid="1583185545938805861">"Літары"</string>
    <string name="digits" msgid="1746796679021682388">"Лічбы (0-9, *, #, +)"</string>
    <string name="default_call_setup_msg" msgid="7960194995759849940">"Ідзе выклік..."</string>
    <string name="stk_app_state" msgid="18582277302584082">"Стан прыкладання"</string>
    <string name="enable_app" msgid="3701224550936728203">"Уключана"</string>
    <string name="disable_app" msgid="6725081975611415214">"Адключана"</string>
    <string name="stk_dialog_title" msgid="6954825385456886726">"Інструменты SIM"</string>
    <string name="default_open_channel_msg" msgid="2216070254100295924">"Адкрыты канал?"</string>
    <string name="default_send_data_msg" msgid="6011219698689931272">"Адпраўка дадзеных"</string>
    <string name="default_receive_data_msg" msgid="618096941772010682">"Атрыманне дадзеных"</string>
    <string name="default_close_channel_msg" msgid="765364262263839824">"Канал закрыты"</string>
    <string name="stk_dialog_accept" msgid="8498901537508923727">"ТАК"</string>
    <string name="stk_dialog_reject" msgid="921848059485746796">"НЕ"</string>
</resources>
