<?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">"شهادة CA واحدة"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d شهادات CA"</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">"يتعذر حفظ الشهادة. انقر على \"موافق\" لإعادة المحاولة."</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>
