<?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">"Testes de Transmissão Celular"</string>
    <string name="button_etws_normal_type" msgid="3852703138521119537">"Enviar Transmissão Normal ETWS"</string>
    <string name="button_etws_cancel_type" msgid="7194264116649371175">"Enviar Difusão de Cancelamento ETWS"</string>
    <string name="button_etws_test_type" msgid="6353906188028139901">"Enviar Difusão de Teste ETWS"</string>
    <string name="button_cmas_pres_alert" msgid="5905111586384766558">"Enviar Alerta Presidencial do CMAS"</string>
    <string name="button_cmas_extreme_alert" msgid="6111658124447111920">"Enviar Alerta Extremo do CMAS"</string>
    <string name="button_cmas_severe_alert" msgid="9051731172452500819">"Enviar Alerta Grave do CMAS"</string>
    <string name="button_cmas_amber_alert" msgid="4217147800913845288">"Enviar Alerta AMBER do CMAS"</string>
    <string name="button_cmas_monthly_test" msgid="1609320625517248393">"Enviar Alerta de Teste Mensal do CMAS"</string>
    <string name="button_gsm_7bit_type" msgid="4757698592787955850">"Enviar Difusão de Teste GSM de 7 Bits"</string>
    <string name="button_gsm_7bit_umts_type" msgid="4377077702628367387">"Enviar Difusão de Teste UMTS de 7 Bits"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5289528095948674862">"Enviar Difusão de Duração Completa GSM de 7 Bits"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="7953047238483884846">"Enviar Difusão de Duração Completa UMTS de 7 Bits"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="8516540964071070491">"Enviar Difusão de Várias Páginas GSM de 7 Bits"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="474883728254547100">"Enviar Difusão de Várias Páginas UMTS de 7 Bits"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="7414138913180046493">"Enviar GSM de 7 Bits com Linguagem"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="7365993929355114874">"Enviar mensagem GSM de 7 Bits Com Linguagem No Corpo"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="1201329758881885921">"Enviar UMTS de 7 Bits com Linguagem"</string>
    <string name="button_gsm_ucs2_type" msgid="6652864601384080678">"Enviar Difusão de Teste UCS-2 GSM"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="2985879481785569626">"Enviar Difusão de Teste UCS-2 UMTS"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="4557772309524939206">"Enviar Difusão de Várias Páginas UCS-2 UMTS"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="8992961254390480388">"Enviar GSM UCS-2 Com Idioma"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1080788762601688380">"Enviar UCS-2 UMTS com Linguagem"</string>
    <string name="button_delay_broadcast" msgid="5138650276363839541">"Atrasar 5 segundos antes de enviar"</string>
    <string name="message_id_label" msgid="4365322663037110887">"ID da Mensagem:"</string>
</resources>
