<?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">"Izivivinyo Zokusakaza kwamaSeli"</string>
    <string name="button_etws_normal_type" msgid="3852703138521119537">"Thumela Ukusakaza Okuvamile kwe-ETWS"</string>
    <string name="button_etws_cancel_type" msgid="7194264116649371175">"Thumela i-ETWS Khansela Ukusakaza"</string>
    <string name="button_etws_test_type" msgid="6353906188028139901">"Thumela i-ETWS Yokusakaza Imibhalo"</string>
    <string name="button_cmas_pres_alert" msgid="5905111586384766558">"Thumela Isaziso Esiphathelene Nokubusa se-CMAS"</string>
    <string name="button_cmas_extreme_alert" msgid="6111658124447111920">"Thumela Isaziso Esikhulu Kakhulu se-CMAS"</string>
    <string name="button_cmas_severe_alert" msgid="9051731172452500819">"Thumela Isaziso Esikhulu se-CMAS"</string>
    <string name="button_cmas_amber_alert" msgid="4217147800913845288">"Thumela isaziso SOMBALA OPHUZI we-CMAS"</string>
    <string name="button_cmas_monthly_test" msgid="1609320625517248393">"Thumela Isaziso Sokuhlola Sanyanga Zonke se-CMAS"</string>
    <string name="button_gsm_7bit_type" msgid="4757698592787955850">"Thumela Isivivinyo Sohlelo Lomhlaba Lokuxhumana Kwamaselula Ngamabhayithi angu-7"</string>
    <string name="button_gsm_7bit_umts_type" msgid="4377077702628367387">"Thumela Isivivinyo Sokusakaza Ngamabhayithi angu-7 se-UMTS"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5289528095948674862">"Thumela Uhlelo Lomhlaba Lokuxhumana Kwamaselula Lokusakaza Olugcwele Olunobude Bamabhayithi angu-7"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="7953047238483884846">"Thumela Ubude Obugcwele Kwamabhayithi angu-7 be-UMTS"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="8516540964071070491">"Thumela ukusakaza Kwamakhasi Amaningana Kohlelo Lomhlaba Lokuxhumana Kwamaselula Ngamabhayithi angu-7"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="474883728254547100">"Thumela i-UMTS Yokusakaza Amakhasi Amaningana Amabhayithi angu-7"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="7414138913180046493">"Thumela Uhlelo Lomhlaba Lokuxhumana Kwamaselula Lwamabhayithi angu-7 Nezi Limi"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="7365993929355114874">"Thumela i-GSM Yamabhithi angu-7 Ekanye Nolimi Lomzimba"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="1201329758881885921">"Thumela i-UMTS Yamabhayithi angu-7 Ngezilimi"</string>
    <string name="button_gsm_ucs2_type" msgid="6652864601384080678">"Thumela Isivivinyo Sokusakaza Sohlelo Lomhlaba Lokuxhumana Kwamaselula e-UCS-2"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="2985879481785569626">"Thumela Isivivinyo Sokusakaza se UMTS UC-2"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="4557772309524939206">"Thumela ukusakaza Kwamakhasi Amaningana e-UMTS UCS-2"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="8992961254390480388">"Thumela Uhlelo Lomhlaba Lokuxhumana Kwamaselula lwe-UCS-2 Ngezilimi"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1080788762601688380">"Thumela i-UMTS UCS-2 Ngezilimi"</string>
    <string name="button_delay_broadcast" msgid="5138650276363839541">"Yephuza ngamasekhondi angu-5 ngaphambi kokuthumela"</string>
    <!-- no translation found for message_id_label (4365322663037110887) -->
    <skip />
</resources>
