<?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:xliff="urn:oasis:names:tc:xliff:document:1.2">

    <!-- Text for message to user that a full backup has been requested, and must be confirmed. -->
    <string name="backup_confirm_text">A full backup of all data to a connected desktop computer has been requested.  Do you want to allow this to happen\?\n\nIf you did not request the backup yourself, do not allow the operation to proceed.</string>
    <!-- Button to allow a requested full backup to occur -->
    <string name="allow_backup_button_label">Back up my data</string>
    <!-- Button to refuse to allow the requested full backup -->
    <string name="deny_backup_button_label">Do not back up</string>

    <!-- Text for message to user that a full restore has been requested, and must be confirmed. -->
    <string name="restore_confirm_text">A full restore of all data from a connected desktop computer has been requested.  Do you want to allow this to happen\?\n\nIf you did not request the restore yourself, do not allow the operation to proceed.  This will replace any data currently on the device!</string>
    <!-- Button to allow a requested full restore to occur -->
    <string name="allow_restore_button_label">Restore my data</string>
    <!-- Button to refuse to allow the requested full restore -->
    <string name="deny_restore_button_label">Do not restore</string>

</resources>
