<?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">"Резервна копије свих података"</string>
    <string name="restore_confirm_title" msgid="5469365809567486602">"Потпуно враћање"</string>
    <string name="backup_confirm_text" msgid="1878021282758896593">"Захтевана је потпуна резервна копија свих података на повезани стони рачунар. Да ли желите да дозволите то?\n\nАко нисте лично захтевали резервну копију, не дозвољавајте наставак радње."</string>
    <string name="allow_backup_button_label" msgid="4217228747769644068">"Направи резервну копију мојих података"</string>
    <string name="deny_backup_button_label" msgid="6009119115581097708">"Не прави резервне копије"</string>
    <string name="restore_confirm_text" msgid="7499866728030461776">"Захтевано је потпуно враћање свих података са повезаног стоног рачунара. Да ли желите да дозволите то?\n\nАко нисте лично захтевали враћање, не дозвољавајте наставак радње. Тиме ћете заменити све податке који су тренутно на уређају!"</string>
    <string name="allow_restore_button_label" msgid="3081286752277127827">"Врати моје податке"</string>
    <string name="deny_restore_button_label" msgid="1724367334453104378">"Не враћај"</string>
    <string name="current_password_text" msgid="8268189555578298067">"Унесите тренутну лозинку резервне копије у наставку:"</string>
    <string name="device_encryption_restore_text" msgid="1570864916855208992">"Унесите лозинку уређаја за шифровање у наставку."</string>
    <string name="device_encryption_backup_text" msgid="5866590762672844664">"Унесите лозинку уређаја за шифровање. Ово ће се користити и за шифровање резервне архиве."</string>
    <string name="backup_enc_password_text" msgid="4981585714795233099">"Унесите лозинку коју ћете користити за шифровање података потпуне резервне копије. Ако то поље оставите празно, користиће се тренутна лозинка резервне копије:"</string>
    <string name="backup_enc_password_optional" msgid="1350137345907579306">"Ако желите да шифрујете податке потпуне резервне копије, унесите лозинку у наставку."</string>
    <string name="backup_enc_password_required" msgid="7889652203371654149">"Пошто вам је уређај шифрован, морате да шифрујете резервну копију. Унесите лозинку у наставку:"</string>
    <string name="restore_enc_password_text" msgid="6140898525580710823">"Ако су подаци за враћање шифровани, унесите лозинку у наставку:"</string>
    <string name="toast_backup_started" msgid="550354281452756121">"Покретање прављења резервне копије..."</string>
    <string name="toast_backup_ended" msgid="3818080769548726424">"Резервна копија је направљена"</string>
    <string name="toast_restore_started" msgid="7881679218971277385">"Покретање враћања..."</string>
    <string name="toast_restore_ended" msgid="1764041639199696132">"Враћање је завршено"</string>
    <string name="toast_timeout" msgid="5276598587087626877">"Време за радњу је истекло"</string>
</resources>
