<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2011 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="backup_confirm_title" msgid="827563724209303345">"Úplná záloha"</string>
    <string name="restore_confirm_title" msgid="5469365809567486602">"Úplné obnovení"</string>
    <string name="backup_confirm_text" msgid="1878021282758896593">"Obdrželi jsme požadavek na úplnou zálohu všech dat do připojeného počítače. Chcete tuto akci povolit? \n\nPokud jste o zálohu nežádali, operaci nepovolujte."</string>
    <string name="allow_backup_button_label" msgid="4217228747769644068">"Zálohovat data"</string>
    <string name="deny_backup_button_label" msgid="6009119115581097708">"Nezálohovat"</string>
    <string name="restore_confirm_text" msgid="7499866728030461776">"Obdrželi jsme žádost o úplné obnovení všech dat z připojeného počítače. Chcete tuto akci povolit?\n\nPokud jste o obnovení nepožádali, operaci nepovolujte. Tato akce nahradí veškerá data v zařízení."</string>
    <string name="allow_restore_button_label" msgid="3081286752277127827">"Obnovit moje data"</string>
    <string name="deny_restore_button_label" msgid="1724367334453104378">"Neobnovovat"</string>
    <string name="current_password_text" msgid="8268189555578298067">"Zadejte prosím aktuální heslo pro zálohy níže:"</string>
    <string name="device_encryption_restore_text" msgid="1570864916855208992">"Zadejte prosím své heslo pro šifrování zařízení."</string>
    <string name="device_encryption_backup_text" msgid="5866590762672844664">"Sem prosím zadejte bezpečnostní gesto. Toto gesto se použije také při šifrování záložního archivu."</string>
    <string name="backup_enc_password_text" msgid="4981585714795233099">"Zadejte prosím heslo pro šifrování dat úplné zálohy. Pokud pole ponecháte prázdné, použije se aktuální heslo pro zálohy:"</string>
    <string name="backup_enc_password_optional" msgid="1350137345907579306">"Chcete-li data úplné zálohy zašifrovat, zadejte heslo:"</string>
    <string name="backup_enc_password_required" msgid="7889652203371654149">"Protože je zařízení šifrováno, je třeba zálohu zašifrovat. Níže prosím zadejte heslo:"</string>
    <string name="restore_enc_password_text" msgid="6140898525580710823">"Pokud jsou obnovená data šifrována, zadejte prosím heslo níže:"</string>
    <string name="toast_backup_started" msgid="550354281452756121">"Spouští se zálohování..."</string>
    <string name="toast_backup_ended" msgid="3818080769548726424">"Zálohování bylo dokončeno"</string>
    <string name="toast_restore_started" msgid="7881679218971277385">"Spouští se obnovení..."</string>
    <string name="toast_restore_ended" msgid="1764041639199696132">"Obnovení skončilo"</string>
    <string name="toast_timeout" msgid="5276598587087626877">"Časový limit operace vypršel"</string>
</resources>
