<?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">"Testy transmisji komórkowej"</string>
    <string name="button_etws_normal_type" msgid="3852703138521119537">"Wyślij normalną transmisję w systemie ETWS"</string>
    <string name="button_etws_cancel_type" msgid="7194264116649371175">"Wyślij transmisję ETWS anulowania"</string>
    <string name="button_etws_test_type" msgid="6353906188028139901">"Wyślij transmisję testową ETWS"</string>
    <string name="button_cmas_pres_alert" msgid="5905111586384766558">"Wyślij alert prezydencki w systemie CMAS"</string>
    <string name="button_cmas_extreme_alert" msgid="6111658124447111920">"Wyślij ekstremalny alert w systemie CMAS"</string>
    <string name="button_cmas_severe_alert" msgid="9051731172452500819">"Wyślij poważny alert w systemie CMAS"</string>
    <string name="button_cmas_amber_alert" msgid="4217147800913845288">"Wyślij alert AMBER w systemie CMAS"</string>
    <string name="button_cmas_monthly_test" msgid="1609320625517248393">"Wyślij comiesięczny alert testowy w systemie CMAS"</string>
    <string name="button_gsm_7bit_type" msgid="4757698592787955850">"Wyślij transmisję testową GSM 7-bit"</string>
    <string name="button_gsm_7bit_umts_type" msgid="4377077702628367387">"Wyślij transmisję testową UMTS 7-bit"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5289528095948674862">"Wyślij pełnej długości transmisję GSM 7-bit"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="7953047238483884846">"Wyślij pełnej długości transmisję UMTS 7-bit"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="8516540964071070491">"Wyślij transmisję GSM 7-bit Multi Page"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="474883728254547100">"Wyślij transmisję UMTS 7-bit Multi Page"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="7414138913180046493">"Wyślij transmisję GSM 7-bit z kodem języka"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="7365993929355114874">"Wyślij transmisję GSM 7-bit z kodem języka w treści"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="1201329758881885921">"Wyślij UMTS 7-bit z kodem języka"</string>
    <string name="button_gsm_ucs2_type" msgid="6652864601384080678">"Wyślij transmisję testową GSM UCS-2"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="2985879481785569626">"Wyślij transmisję testową UMTS UCS-2"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="4557772309524939206">"Wyślij transmisję UMTS UCS-2 Multi Page"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="8992961254390480388">"Wyślij w kodowaniu GSM UCS-2 z kodem języka"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1080788762601688380">"Wyślij UMTS UCS-2 z kodem języka"</string>
    <string name="button_delay_broadcast" msgid="5138650276363839541">"Opóźnienie 5 sekund przed wysłaniem"</string>
    <string name="message_id_label" msgid="4365322663037110887">"Identyfikator wiadomości:"</string>
    <string name="category_id_label" msgid="8472814003810180738">"Kategoria:"</string>
</resources>
