<?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">"Proves de difusió de cel·la"</string>
    <string name="button_etws_normal_type" msgid="3852703138521119537">"Envia la difusió normal d\'ETWS"</string>
    <string name="button_etws_cancel_type" msgid="7194264116649371175">"Envia la difusió de cancel·lació d\'ETWS"</string>
    <string name="button_etws_test_type" msgid="6353906188028139901">"Envia la difusió de prova d\'ETWS"</string>
    <string name="button_cmas_pres_alert" msgid="5905111586384766558">"Envia l\'alerta presidencial de CMAS"</string>
    <string name="button_cmas_extreme_alert" msgid="6111658124447111920">"Enviar l\'alerta extrema CMAS"</string>
    <string name="button_cmas_severe_alert" msgid="9051731172452500819">"Envia l\'alerta important de CMAS"</string>
    <string name="button_cmas_amber_alert" msgid="4217147800913845288">"Envia l\'alerta AMBER CMAS"</string>
    <string name="button_cmas_monthly_test" msgid="1609320625517248393">"Envia l\'alerta de prova mensual CMAS"</string>
    <string name="button_gsm_7bit_type" msgid="4757698592787955850">"Envia la difusió de prova de GSM 7 Bit"</string>
    <string name="button_gsm_7bit_umts_type" msgid="4377077702628367387">"Envia la difusió de prova d\'UMTS 7 Bit"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5289528095948674862">"Envia la difusió de durada completa de GSM 7 Bit"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="7953047238483884846">"Envia la difusió de durada completa d\'UMTS 7 Bit"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="8516540964071070491">"Envia la difusió de diverses pàgines de GSM 7 Bit"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="474883728254547100">"Envia la difusió de diverses pàgines d\'UMTS 7 Bit"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="7414138913180046493">"Envia GSM 7 Bit amb idioma"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="7365993929355114874">"Envia GSM 7 Bit amb idioma al cos"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="1201329758881885921">"Envia UMTS 7 Bit amb idioma"</string>
    <string name="button_gsm_ucs2_type" msgid="6652864601384080678">"Envia la difusió de prova de GSM UCS-2"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="2985879481785569626">"Envia la difusió de prova d\'UMTS UCS-2"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="4557772309524939206">"Envia la difusió de diverses pàgines d\'UMTS UCS-2"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="8992961254390480388">"Envia GSM UCS-2 amb idioma"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1080788762601688380">"Envia UMTS UCS-2 amb idioma"</string>
    <string name="button_delay_broadcast" msgid="5138650276363839541">"Retarda 5 segons abans d\'enviar"</string>
    <!-- no translation found for message_id_label (4365322663037110887) -->
    <skip />
</resources>
