<?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">"Testovi emitiranja na mobitele"</string>
    <string name="button_etws_normal_type" msgid="3852703138521119537">"Pošalji ETWS-ovo normalno emitiranje"</string>
    <string name="button_etws_cancel_type" msgid="7194264116649371175">"Pošalji ETWS otkazani prijenos"</string>
    <string name="button_etws_test_type" msgid="6353906188028139901">"Pošalji ETWS testni prijenos"</string>
    <string name="button_cmas_pres_alert" msgid="5905111586384766558">"Pošalji CMAS-ovo predsjedničko upozorenje"</string>
    <string name="button_cmas_extreme_alert" msgid="6111658124447111920">"Pošalji CMAS-ovo ekstremno upozorenje"</string>
    <string name="button_cmas_severe_alert" msgid="9051731172452500819">"Pošalji CMAS-ovo ozbiljno upozorenje"</string>
    <string name="button_cmas_amber_alert" msgid="4217147800913845288">"Pošalji CMAS-ovo upozorenje AMBER"</string>
    <string name="button_cmas_monthly_test" msgid="1609320625517248393">"Pošalji CMAS-ovo mjesečno probno upozorenje"</string>
    <string name="button_gsm_7bit_type" msgid="4757698592787955850">"Pošalji GSM 7 Bit testni prijenos"</string>
    <string name="button_gsm_7bit_umts_type" msgid="4377077702628367387">"Pošalji UMTS 7 Bit testni prijenos"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5289528095948674862">"Pošalji GSM 7 Bit prijenos pune duljine"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="7953047238483884846">"Pošalji UMTS 7 Bit prijenos pune duljine"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="8516540964071070491">"Pošalji GSM 7 Bit prijenos za više stranica"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="474883728254547100">"Pošalji UMTS 7 Bit prijenos više stranica"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="7414138913180046493">"Pošalji GSM 7 Bit s jezikom"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="7365993929355114874">"Pošalji 7-bitni GSM s jezikom u glavnom dijelu"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="1201329758881885921">"Pošalji UMTS 7 Bit s jezikom"</string>
    <string name="button_gsm_ucs2_type" msgid="6652864601384080678">"Pošalji GSM UCS-2 testni prijenos"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="2985879481785569626">"Pošalji UMTS UCS-2 testni prijenos"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="4557772309524939206">"Pošalji UMTS UCS-2 prijenos više stranica"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="8992961254390480388">"Pošalji GSM UCS-2 s jezikom"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1080788762601688380">"Pošalji UMTS UCS-2 s jezikom"</string>
    <string name="button_delay_broadcast" msgid="5138650276363839541">"Odgodi slanje za 5 sekundi"</string>
</resources>
