<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2011 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_label" msgid="2102435118079140813">"Majaribio ya Matangazo ya Simu"</string>
    <string name="button_etws_normal_type" msgid="3852703138521119537">"Tuma Matangazo ya Kawaida ya ETWS"</string>
    <string name="button_etws_cancel_type" msgid="7194264116649371175">"Tuma ETWS ya Kughairi Matangazo"</string>
    <string name="button_etws_test_type" msgid="6353906188028139901">"Tuma Tangazo la jaribio  la ETWS"</string>
    <string name="button_cmas_pres_alert" msgid="5905111586384766558">"Tuma Arifu ya Rais ya CMAS"</string>
    <string name="button_cmas_extreme_alert" msgid="6111658124447111920">"Tuma Arifu Kali ya CMAS"</string>
    <string name="button_cmas_severe_alert" msgid="9051731172452500819">"Tuma Arifu Kali ya CMAS"</string>
    <string name="button_cmas_amber_alert" msgid="4217147800913845288">"Tuma Arifu ya CMAS AMBER"</string>
    <string name="button_cmas_monthly_test" msgid="1609320625517248393">"Tuma Arifu ya Jaribio la Kila Mwezi la CMAS"</string>
    <string name="button_gsm_7bit_type" msgid="4757698592787955850">"Tuma Biti ya GSM 7 ya Jaribio la Tangazo"</string>
    <string name="button_gsm_7bit_umts_type" msgid="4377077702628367387">"Tuma Biti UMTS 7 ya Jaribio la Matangazo"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5289528095948674862">"Tuma tangazo la urefu kamili wa  GSM 7"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="7953047238483884846">"Tuma Tangazo la urefu kamili wa Biti ya UMTS 7"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="8516540964071070491">"Tuma tangazo la Biti GSM 7 ya Ukurasa"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="474883728254547100">"Tuma Tangazo l Kurasa Nyingi la Biti 7 za UMTS"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="7414138913180046493">"Tuma Biti GSM 7 ya Upana Kamilifu  wa Matangazo"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="7365993929355114874">"Tuma biti ya GSM 7 Na Lugha Katika Kiini"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="1201329758881885921">"Tuma Biti ya UMTS 7 na Lugha"</string>
    <string name="button_gsm_ucs2_type" msgid="6652864601384080678">"Tuma Tangazo la jaribio la GSM UCS-2"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="2985879481785569626">"Tuma Jaribio la Tangazo la  UMTS UCS-2"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="4557772309524939206">"Tuma UMTS UCS-2  ya Ukurasa Anuwai wa Matangazo"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="8992961254390480388">"Tuma GSM UCS-2 na Lugha"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1080788762601688380">"Tuma  UMTS UCS-2 na Lugha"</string>
    <string name="button_delay_broadcast" msgid="5138650276363839541">"Chelewesha sekunde 5 kabla ya kutuma"</string>
    <string name="message_id_label" msgid="4365322663037110887">"Kitambulisho cha Ujumbe:"</string>
    <string name="category_id_label" msgid="8472814003810180738">"Kitengo:"</string>
</resources>
