<?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">"בדיקות שידור סלולרי"</string>
    <string name="button_etws_normal_type" msgid="3852703138521119537">"שלח שידור ETWS רגיל"</string>
    <string name="button_etws_cancel_type" msgid="7194264116649371175">"שלח ביטול שידור ETWS"</string>
    <string name="button_etws_test_type" msgid="6353906188028139901">"שלח שידור בדיקה מסוג ETWS"</string>
    <string name="button_cmas_pres_alert" msgid="5905111586384766558">"שלח התראת CMAS נשיאותית"</string>
    <string name="button_cmas_extreme_alert" msgid="6111658124447111920">"שלח התראת CMAS קיצונית"</string>
    <string name="button_cmas_severe_alert" msgid="9051731172452500819">"שלח התראת CMAS חמורה"</string>
    <string name="button_cmas_amber_alert" msgid="4217147800913845288">"שלח התראת CMAS ‏AMBER"</string>
    <string name="button_cmas_monthly_test" msgid="1609320625517248393">"שלח התראת בדיקה חודשית של CMAS"</string>
    <string name="button_gsm_7bit_type" msgid="4757698592787955850">"שלח שידור בדיקה מסוג GSM 7 Bit"</string>
    <string name="button_gsm_7bit_umts_type" msgid="4377077702628367387">"שלח שידור בדיקה מסוג UMTS 7 Bit"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5289528095948674862">"שלח שידור GSM 7 Bit באורך מלא"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="7953047238483884846">"שלח שידור UMTS 7 Bit באורך מלא"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="8516540964071070491">"שלח שידור GSM 7 Bit עם ריבוי דפים"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="474883728254547100">"שלח שידור UMTS 7 Bit עם ריבוי דפים"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="7414138913180046493">"שלח GSM 7 Bit עם שפה"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="7365993929355114874">"שלח ‏7 ביט ב-GSM עם שפה בגוף"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="1201329758881885921">"שלח UMTS 7 Bit עם שפה"</string>
    <string name="button_gsm_ucs2_type" msgid="6652864601384080678">"שלח שידור בדיקה מסוג GSM UCS-2"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="2985879481785569626">"שלח UMTS UCS-2 שידור מבחן"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="4557772309524939206">"שלח שידור UMTS UCS-2 עם ריבוי דפים"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="8992961254390480388">"שלח GSM UCS-2 עם שפה"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1080788762601688380">"שלח UMTS UCS-2 עם שפה"</string>
    <string name="button_delay_broadcast" msgid="5138650276363839541">"עיכוב של 5 שניות לפני שליחה"</string>
    <string name="message_id_label" msgid="4365322663037110887">"מזהה הודעה:"</string>
    <string name="category_id_label" msgid="8472814003810180738">"קטגוריה:"</string>
</resources>
