<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2018 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="cmas_presidential_level_alert" msgid="175237477015066795">"Онцгой байдлын үндэсний сэрэмжлүүлэг"</string>
    <string name="pws_other_message_identifiers" msgid="1160028649251004769">"Анхааруулах сэрэмжлүүлэг"</string>
    <string name="enable_emergency_alerts_message_title" msgid="876981179796412627">"Анхааруулах сэрэмжлүүлэг"</string>
    <string name="enable_emergency_alerts_message_summary" msgid="6745452404477073171">"Амь нас эсвэл хөрөнгийг аварч болох санал болгосон үйлдэл"</string>
    <string name="cmas_required_monthly_test" msgid="7606843318721168353">"Сэрэмжлүүлгийг шалгах"</string>
    <string name="public_safety_message" msgid="2643362135123023300">"Сэрэмжлүүлгийг шалгах"</string>
    <string name="cmas_exercise_alert" msgid="5775307523978007483">"Сургуулилт"</string>
</resources>
