<?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">"Preskusi oddajanja v celici"</string>
    <string name="button_etws_normal_type" msgid="3852703138521119537">"Pošlji navadno oddajo ETWS"</string>
    <string name="button_etws_cancel_type" msgid="7194264116649371175">"Pošlji preklic oddaje ETWS"</string>
    <string name="button_etws_test_type" msgid="6353906188028139901">"Pošlji preskusno oddajo ETWS"</string>
    <string name="button_cmas_pres_alert" msgid="5905111586384766558">"Pošlji predsedniško opozorilo za CMAS"</string>
    <string name="button_cmas_extreme_alert" msgid="6111658124447111920">"Pošlji izjemno opozorilo za CMAS"</string>
    <string name="button_cmas_severe_alert" msgid="9051731172452500819">"Pošlji hudo opozorilo za CMAS"</string>
    <string name="button_cmas_amber_alert" msgid="4217147800913845288">"Pošlji opozorilo AMBER za CMAS"</string>
    <string name="button_cmas_monthly_test" msgid="1609320625517248393">"Pošlji mesečno preskusno opozorilo za CMAS"</string>
    <string name="button_gsm_7bit_type" msgid="4757698592787955850">"Pošlji 7-bitno preskusno oddajo GSM"</string>
    <string name="button_gsm_7bit_umts_type" msgid="4377077702628367387">"Pošlji 7-bitno preskusno oddajo UMTS"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5289528095948674862">"Pošlji 7-bitno celotno oddajo GSM"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="7953047238483884846">"Pošlji 7-bitno celotno oddajo UMTS"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="8516540964071070491">"Pošlji 7-bitno večstransko oddajo GSM"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="474883728254547100">"Pošlji 7-bitno večstransko oddajo UMTS"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="7414138913180046493">"Pošlji 7-bitno oddajo GSM z jezikom"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="7365993929355114874">"Pošlji 7-bitno sporočilo GSM z jezikom v telesu"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="1201329758881885921">"Pošlji 7-bitni UMTS z jezikom"</string>
    <string name="button_gsm_ucs2_type" msgid="6652864601384080678">"Pošlji preskusno oddajo GSM UCS-2"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="2985879481785569626">"Pošlji preskusno oddajo UMTS UCS-2"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="4557772309524939206">"Pošlji večstransko oddajo UMTS UCS-2"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="8992961254390480388">"Pošlji GSM UCS-2 z jezikom"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1080788762601688380">"Pošlji UMTS UCS-2 z jezikom"</string>
    <string name="button_delay_broadcast" msgid="5138650276363839541">"Pred pošiljanjem počakaj 5 sekund"</string>
    <!-- no translation found for message_id_label (4365322663037110887) -->
    <skip />
</resources>
