<?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">"Installer ng Certificate"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Pumili ng certificate"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"I-extract ang certificate"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"Ine-extract..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"I-extract mula sa %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Pangalanan ang certificate"</string>
    <string name="credential_name" msgid="1974979771369744378">"Pangalan ng certificate:"</string>
    <string name="credential_password" msgid="5251535810456146069">"Ipasok ang password upang i-extract ang mga certificate."</string>
    <string name="credential_info" msgid="2436768402308470397">"Naglalaman ang package ng:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Mga certificate sa PKCS12 keystore."</string>
    <string name="one_userkey" msgid="3500697912370644881">"isang key ng user"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"isang certificate ng user"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"isang certficate ng CA"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d Mga certificate ng CA"</string>
    <string name="password_error" msgid="1441470604400783036">"Pakipasok ang tamang password."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Pakipasok ang password."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Mangyaring magpasok ng pangalan."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Mangyaring magpasok ng pangalan na naglalaman lang ng mga titik at numero."</string>
    <string name="storage_error" msgid="3375395655677579149">"Hindi magawang i-save ang certificate. I-click ang OK upang muling subukan."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Hindi nagawang ma-save ang certificate. Hindi pinagana o maayos na nasimulan ang imbakan ng kredensyal."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Hindi naka-install ang certificate."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Walang ii-install na certificate."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Di-wasto ang certificate."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"Naka-install ang <xliff:g id="CREDENTIAL">%s</xliff:g>."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"Nabigo ang pag-install. Masyadong malaki ang sukat ng certificate."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Nabigo ang pag-install. Hindi matagpuan ang file ng certificate."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Nabigo ang pag-install. Hindi mabasa ang file ng certificate."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Walang nakitang file ng certificate sa imbakan na USB."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Walang nakitang file ng certificate sa SD card."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Hindi available imbakan na USB"</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"Wala ang SD card."</string>
</resources>
