<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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="9095072584761066851">"Прогр. встан. серт-тів"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Вибрати сертифікат"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Отримати сертифікат"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"Виймання..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Отримати з %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Дайте назву сертифікату"</string>
    <string name="credential_name" msgid="1974979771369744378">"Назва сертифіката:"</string>
    <string name="credential_password" msgid="5251535810456146069">"Введіть пароль, щоб отримати сертифікати."</string>
    <string name="credential_info" msgid="2436768402308470397">"Пакет містить:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Сертиф-ти в сховищі ключів PKCS12."</string>
    <string name="one_userkey" msgid="3500697912370644881">"один ключ корист."</string>
    <string name="one_usercrt" msgid="7690798336332403106">"один сертифікат корист."</string>
    <string name="one_cacrt" msgid="2667950425420663146">"один сертифікат ЦС"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d сертифікати ЦА"</string>
    <string name="password_error" msgid="1441470604400783036">"Введіть правильний пароль."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Введіть пароль."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Введіть назву."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Введіть назву, яка містить лише літери та цифри."</string>
    <string name="storage_error" msgid="3375395655677579149">"Неможл. зберегти сертифікат. Натисн. OK, щоб повтор."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Не вдається зберегти сертифікат. Сховище облік. даних не ввімк. або не ініціаліз. належ. чином."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Сертифікат не встановлено."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Немає сертиф. для встановл."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Сертифікат недійсний."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> встановлено."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"Помилка встановлення. Розмір сертифіката завеликий."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Помилка встановлення. Неможливо знайти файл сертифіката."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Помилка встановл-ня. Не вдалося прочит. файл сертифіката."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"На носії USB не знайдено жодного файлу сертифікату."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"На карті SD не знайд. жодного файлу сертиф."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Носій USB недоступний."</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"Карти SD немає."</string>
</resources>
