<?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">"Можно установить сертификаты из файла PKCS#12 с расширением %1$s или %2$s, который находится во внешнем хранилище."</string>
    <string name="install_new_cert_button_label" msgid="510732745267546907">"Установить"</string>
    <string name="allow_button" msgid="5340501035618157678">"Разрешить"</string>
    <string name="deny_button" msgid="3766539809121892584">"Отклонить"</string>
</resources>
