<?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">"در گواهی CA"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d گواهی CA"</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">"گواهی‌نامه ذخیره نشد. برای سعی مجدد \"تأیید\" را لمس کنید."</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>
</resources>
