<?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">"Volledige rugsteun"</string>
    <string name="restore_confirm_title" msgid="5469365809567486602">"Volledige herstel"</string>
    <string name="backup_confirm_text" msgid="1878021282758896593">"\'n Volledige rugsteun van al die data na \'n rekenaar is aangevra. Wil jy dit toelaat? \n\nAs jy nie self die rugsteun versoek het nie, moenie toelaat dat die aksie voortgaan nie."</string>
    <string name="allow_backup_button_label" msgid="4217228747769644068">"Rugsteun my data"</string>
    <string name="deny_backup_button_label" msgid="6009119115581097708">"Moenie rugsteun nie"</string>
    <string name="restore_confirm_text" msgid="7499866728030461776">"\'n Volle teruglaai van alle data van \'n gekoppelde rekenaar is versoek. Wil jy dit toelaat? \n\n As jy nie die teruglaai self versoek het nie, moenie die aksie toelaat nie. Dit sal enige data tans op die toestel vervang!"</string>
    <string name="allow_restore_button_label" msgid="3081286752277127827">"Laai my data terug"</string>
    <string name="deny_restore_button_label" msgid="1724367334453104378">"Moenie herstel nie"</string>
    <string name="current_password_text" msgid="8268189555578298067">"Voer asseblief jou huidige rugsteunwagwoord hieronder in:"</string>
    <string name="device_encryption_restore_text" msgid="1570864916855208992">"Voer jou toestelenkripsie-wagwoord hier onder in."</string>
    <string name="device_encryption_backup_text" msgid="5866590762672844664">"Voer jou toestelenkripsie-wagwoord hier onder in. Dit sal ook gebruik word om die rugsteunargief te enkripteer."</string>
    <string name="backup_enc_password_text" msgid="4981585714795233099">"Voer asb. \'n wagwoord in om te gebruik vir enkripsie van die volle rugsteundata. As dit leeg gelaat word, sal jou huidige rugsteunwagwoord gebruik word:"</string>
    <string name="backup_enc_password_optional" msgid="1350137345907579306">"As jy die volle rugsteundata wil enkripteer, voer \'n wagwoord hieronder in:"</string>
    <string name="backup_enc_password_required" msgid="7889652203371654149">"Omdat jou toestel geënkripteer is, word daar van jou vereis om jou rugsteun te enkripteer. Voer \'n wagwoord hieronder in:"</string>
    <string name="restore_enc_password_text" msgid="6140898525580710823">"As die hersteldata geïnkripteer  word, voer asb. die wagwoord hieronder in:"</string>
    <string name="toast_backup_started" msgid="550354281452756121">"Rugsteun begin tans..."</string>
    <string name="toast_backup_ended" msgid="3818080769548726424">"Rugsteun klaar"</string>
    <string name="toast_restore_started" msgid="7881679218971277385">"Herstel begin tans..."</string>
    <string name="toast_restore_ended" msgid="1764041639199696132">"Herstel beëindig"</string>
    <string name="toast_timeout" msgid="5276598587087626877">"Handeling het uitgetel"</string>
</resources>
