<?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_name" msgid="170210454004696382">"Түлхүүрийн Оосор"</string>
    <string name="title_no_certs" msgid="8350009443064722873">"Сертификат олдсонгүй"</string>
    <string name="title_select_cert" msgid="3588447616418041699">"Сертификат сонгох"</string>
    <string name="requesting_application" msgid="1589142627467598421">"%s апп сертификат шаардаж байна. Сертификатыг сонгосноор тус апп одоо болон цаашид сервертэй харьцахдаа үүнийг ашиглах боломжтой болно."</string>
    <string name="requesting_server" msgid="5832565605998634370">"Апп хүсэлт гаргасан серверийг %s гэж таниулсан гэхдээ та энэ апп-д зөвхөн итгэж байгаа тохиолдолд л сертификатад хандалт хийх эрхийг өгөөрэй."</string>
    <string name="install_new_cert_message" msgid="4451971501142085495">"Та %1$s эсхүл %2$s өргөтгэлтэй гадаад хадгалах санд байрласан PKCS#12 файлаас сертификатуудыг суулгаж болно."</string>
    <string name="install_new_cert_button_label" msgid="903474285774077171">"Сертификат суулгах"</string>
    <string name="allow_button" msgid="3030990695030371561">"Сонгох"</string>
    <string name="deny_button" msgid="3766539809121892584">"Татгалзах"</string>
</resources>
