<?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="4481949485108233297">"Вибрати сертифікат"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Отримати сертифікат"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Видобування..."</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="3520176519550993326">"Введіть пароль, щоб видобути сертифікати."</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="2042471639556516356">"Введіть правильний пароль."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Введіть пароль."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Введіть ім’я."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Введіть назву, яка містить лише літери та цифри."</string>
    <string name="storage_error" msgid="8306802455802770779">"Не вдалося зберегти сертифікат. Торкніться \"OK\", щоб повторити спробу."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Не вдалося зберегти сертифікат. Сховище облікових даних не ввімкнено або не ініціалізовано належним чином."</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="8715414972725646285">"Не вдалося встановити, оскільки розмір сертифіката завеликий."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Не вдалося встановити, оскільки неможливо знайти файл сертифіката."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Не вдалося встановити, оскільки неможливо зчитати файл сертифіката."</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="3866952732541932947">"Відсутня карта SD."</string>
    <string name="only_primary_user_allowed" msgid="4005084935023047716">"Лише власник цього пристрою може встановлювати сертифікати."</string>
</resources>
