<?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">"Cell broadcast-tests"</string>
    <string name="button_etws_normal_type" msgid="3852703138521119537">"Normaal ETWS-bericht verzenden"</string>
    <string name="button_etws_cancel_type" msgid="7194264116649371175">"ETWS annuleringsbericht sturen"</string>
    <string name="button_etws_test_type" msgid="6353906188028139901">"ETWS-testbericht verzenden"</string>
    <string name="button_cmas_pres_alert" msgid="5905111586384766558">"Nationale CMAS-waarschuwing verzenden"</string>
    <string name="button_cmas_extreme_alert" msgid="6111658124447111920">"Extreme waarschuwing voor CMAS verzenden"</string>
    <string name="button_cmas_severe_alert" msgid="9051731172452500819">"Ernstige waarschuwing voor CMAS verzenden"</string>
    <string name="button_cmas_amber_alert" msgid="4217147800913845288">"AMBER-alert voor CMAS verzenden"</string>
    <string name="button_cmas_monthly_test" msgid="1609320625517248393">"Maandelijkse testwaarschuwing voor CMAS verzenden"</string>
    <string name="button_gsm_7bit_type" msgid="4757698592787955850">"GSM 7-bits testbericht verzenden"</string>
    <string name="button_gsm_7bit_umts_type" msgid="4377077702628367387">"UMTS 7-bits testbericht verzenden"</string>
    <string name="button_gsm_7bit_nopadding_type" msgid="5289528095948674862">"GSM 7-bits bericht van volledige lengte verzenden"</string>
    <string name="button_gsm_7bit_nopadding_umts_type" msgid="7953047238483884846">"UMTS 7-bits bericht van volledige lengte sturen"</string>
    <string name="button_gsm_7bit_multipage_type" msgid="8516540964071070491">"GSM 7-bits bericht van meerdere pagina\'s sturen"</string>
    <string name="button_gsm_7bit_multipage_umts_type" msgid="474883728254547100">"UMTS 7-bits bericht van meerdere pagina\'s sturen"</string>
    <string name="button_gsm_7bit_with_language_type" msgid="7414138913180046493">"GSM 7-bits met taal sturen"</string>
    <string name="button_gsm_7bit_with_language_body_gsm_type" msgid="7365993929355114874">"GSM 7-bits met taal verzenden"</string>
    <string name="button_gsm_7bit_with_language_body_umts_type" msgid="1201329758881885921">"UMTS 7-bits met taal verzenden"</string>
    <string name="button_gsm_ucs2_type" msgid="6652864601384080678">"GSM UCS-2 testbericht verzenden"</string>
    <string name="button_gsm_ucs2_umts_type" msgid="2985879481785569626">"UMTS UCS-2 testbericht verzenden"</string>
    <string name="button_gsm_ucs2_multipage_umts_type" msgid="4557772309524939206">"UMTS UCS-2 bericht van meerdere pagina\'s sturen"</string>
    <string name="button_gsm_ucs2_with_language_type" msgid="8992961254390480388">"GSM UCS-2 met taal sturen"</string>
    <string name="button_gsm_ucs2_with_language_umts_type" msgid="1080788762601688380">"UMTS UCS-2 met taal sturen"</string>
    <string name="button_delay_broadcast" msgid="5138650276363839541">"Vertraging van vijf seconden voor verzending"</string>
    <string name="message_id_label" msgid="4365322663037110887">"Bericht-ID:"</string>
</resources>
