<?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 vositalar majmuasi"</string>
    <string name="menu_end_session" msgid="7368541737750982217">"Sessiyani yakunlash"</string>
    <string name="help" msgid="9209980881219397319">"Yordam"</string>
    <string name="menu_back" msgid="301227740977453364">"Orqaga"</string>
    <string name="service_name" msgid="6860303747999592491">"Xizmat nomi"</string>
    <string name="stk_no_service" msgid="5427773116839809131">"Xizmat mavjud emas"</string>
    <string name="button_ok" msgid="5760722312558549555">"OK"</string>
    <string name="button_cancel" msgid="1997847915560800261">"Bekor qilish"</string>
    <string name="button_yes" msgid="624420260648337203">"Ha"</string>
    <string name="button_no" msgid="1824959157582605627">"Yo‘q"</string>
    <string name="alphabet" msgid="1583185545938805861">"Alifbo"</string>
    <string name="digits" msgid="1746796679021682388">"(0-9, *, #, +) raqamlari"</string>
    <string name="default_call_setup_msg" msgid="7960194995759849940">"Qo‘ng‘iroq amalda…"</string>
    <string name="default_setup_call_msg" msgid="6126904475461162162">"Qo‘ng‘iroq sozlanmoqda"</string>
    <string name="stk_app_state" msgid="18582277302584082">"Ilova holati"</string>
    <string name="enable_app" msgid="3701224550936728203">"Yoqilgan"</string>
    <string name="disable_app" msgid="6725081975611415214">"O‘chirilgan"</string>
    <string name="stk_dialog_title" msgid="6954825385456886726">"SIM vositalar majmuasi"</string>
    <string name="default_open_channel_msg" msgid="2216070254100295924">"Kanal ochilsinmi?"</string>
    <string name="default_send_data_msg" msgid="6011219698689931272">"Ma’lumot yuborilmoqda"</string>
    <string name="default_receive_data_msg" msgid="618096941772010682">"Ma’lumot qabul qilinmoqda"</string>
    <string name="default_close_channel_msg" msgid="765364262263839824">"Kanal yopilgan"</string>
    <string name="stk_dialog_accept" msgid="8498901537508923727">"Ha"</string>
    <string name="stk_dialog_reject" msgid="921848059485746796">"Yo‘q"</string>
    <string name="no_sim_card_inserted" msgid="5316620398365235988">"SIM-karta menyusini ochish uchun SIM-kartani soling."</string>
</resources>
