<?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="2704349695846064655">"Testes de transmissão por celular"</string>
    <string name="button_etws_earthquake_type" msgid="5391060421937195923">"Enviar transmissão de terremoto do ETWS"</string>
    <string name="button_etws_tsunami_type" msgid="5866338269041475786">"Enviar transmissão de tsunami do ETWS"</string>
    <string name="button_etws_earthquake_tsunami_type" msgid="8045617992086252152">"Enviar transmissão de terremotos e tsunamis do Sistema de avisos de terremotos e tsunamis (ETWS, na sigla em inglês)"</string>
    <string name="button_etws_other_type" msgid="4129451610585426791">"Enviar transmissão de outra emergência do ETWS"</string>
    <string name="button_etws_cancel_type" msgid="4770911191572322801">"Enviar transmissão de cancelamento ETWS"</string>
    <string name="button_etws_test_type" msgid="5520113823851979673">"Enviar transmissão de teste ETWS"</string>
    <string name="button_cmas_pres_alert" msgid="1269455100893365889">"Enviar Alerta presidencial CMAS"</string>
    <string name="button_cmas_extreme_alert" msgid="5922644977169679386">"Enviar Alerta extremo CMAS"</string>
    <string name="button_cmas_severe_alert" msgid="5197711586353552255">"Enviar Alerta grave CMAS"</string>
    <string name="button_cmas_amber_alert" msgid="860091654456014191">"Enviar Alerta CMAS AMBER"</string>
    <string name="button_cmas_monthly_test" msgid="6797479769988491996">"Enviar Alerta de teste mensal CMAS"</string>
    <string name="button_gsm_7bit_type" msgid="4902292221458231081">"Enviar transmissão de teste GSM 7 bit"</string>
    <string name="button_gsm_7bit_umts_type" msgid="5871195118138691977">"Enviar transmissão de teste UMTS 7 bit"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5003490670292596214">"Enviar transmissão completa GSM 7 bit"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="4581119373426634893">"Enviar transmissão completa UMTS 7 bit"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="4722261710591475726">"Enviar transmissão de várias páginas GSM 7 bit"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="1178053563290345110">"Enviar transmissão de várias páginas UMTS 7 bit"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="2022040547313986751">"Enviar GSM 7 bit com idioma"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="9100697687183591382">"Enviar GSM 7 bit com idioma"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="8483712413017340666">"Enviar UMTS 7 bit com idioma"</string>
    <string name="button_gsm_ucs2_type" msgid="6571590740592193686">"Enviar transmissão de teste GSM UCS-2"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="5951592009555548877">"Enviar transmissão de teste UMTS UCS-2"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="5063336859681757254">"Enviar transmissão de várias páginas UMTS UCS-2"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="7782847783969114889">"Enviar GSM UCS-2 com idioma"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1722368447645668730">"Enviar UMTS UCS-2 com idioma"</string>
    <string name="button_delay_broadcast" msgid="751650250579017537">"Demorar cinco segundos antes de enviar"</string>
    <string name="message_id_label" msgid="1445077194410403236">"ID da mensagem:"</string>
    <string name="category_id_label" msgid="6935815032327981691">"Categoria:"</string>
</resources>
