<?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">"Varmenteen asennusohjelma"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Valitse varmenne"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Pura varmenne"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Haetaan..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Hae tallenteesta %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Nimeä varmenne"</string>
    <string name="credential_name" msgid="1974979771369744378">"Varmenteen nimi:"</string>
    <string name="credential_password" msgid="3520176519550993326">"Hae varmenteet kirjoittamalla salasana."</string>
    <string name="credential_info" msgid="2436768402308470397">"Paketti sisältää:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Varmenteet PKCS12-avaintallenteessa."</string>
    <string name="one_userkey" msgid="3500697912370644881">"yhden käyttäjän näppäin"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"yhden käyttäjän varmenne"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"yksi CA-varmenne"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d CA-varmennetta"</string>
    <string name="password_error" msgid="2042471639556516356">"Kirjoita oikea salasana."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Kirjoita salasana."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Kirjoita nimi."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Kirjoita nimi, joka sisältää vain kirjaimia ja numeroita."</string>
    <string name="storage_error" msgid="8306802455802770779">"Varmenteen tallentaminen epäonnistui. Yritä uudelleen koskettamalla OK."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Varmenteen tallentaminen epäonnistui. Tunnuksien tallennus ei ole käytössä tai sitä ei ole käynnistetty oikein."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Varmennetta ei ole asennettu."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Ei asennettavaa varmennetta."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Varmenne on virheellinen."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> on asennettu."</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"Asennus epäonnistui, koska varmenne on liian suuri."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Asennus epäonnistui, koska varmennetiedostoa ei löydy."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Asennus epäonnistui, koska varmennetiedostoa ei voitu lukea."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"USB-tallennustilasta ei löytynyt varmennetta."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"SD-kortilta ei löytynyt varmennetiedostoa."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-tila ei ole käytettävissä."</string>
    <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Ei SD-korttia."</string>
    <!-- no translation found for only_primary_user_allowed (4005084935023047716) -->
    <skip />
</resources>
