<?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">"Full afritun"</string>
    <string name="restore_confirm_title" msgid="5469365809567486602">"Full endurheimt"</string>
    <string name="backup_confirm_text" msgid="1878021282758896593">"Óskað hefur verið eftir því að öll gögn verði afrituð yfir á tengda borðtölvu. Viltu leyfa þetta?\n\nEf þú óskaðir ekki eftir þessari afritun skaltu ekki leyfa að haldið verði áfram með hana."</string>
    <string name="allow_backup_button_label" msgid="4217228747769644068">"Afrita gögnin mín"</string>
    <string name="deny_backup_button_label" msgid="6009119115581097708">"Ekki afrita"</string>
    <string name="restore_confirm_text" msgid="7499866728030461776">"Óskað hefur verið eftir fullri endurheimt allra gagna af tengdri borðtölvu. Viltu leyfa það?\n\nEf þú óskaðir ekki eftir þessari endurheimt skaltu ekki leyfa að haldið verði áfram með hana. Öllum gögnum á tækinu verður skipt út!"</string>
    <string name="allow_restore_button_label" msgid="3081286752277127827">"Endurheimta gögnin mín"</string>
    <string name="deny_restore_button_label" msgid="1724367334453104378">"Ekki endurheimta"</string>
    <string name="current_password_text" msgid="8268189555578298067">"Sláðu inn núverandi aðgangsorð afritunar hér fyrir neðan:"</string>
    <string name="device_encryption_restore_text" msgid="1570864916855208992">"Sláðu inn aðgangsorðið fyrir dulkóðun tækis hér fyrir neðan."</string>
    <string name="device_encryption_backup_text" msgid="5866590762672844664">"Sláðu inn aðgangsorð fyrir dulkóðun tækis hér fyrir neðan. Það verður einnig notað til að dulkóða afritasafnið."</string>
    <string name="backup_enc_password_text" msgid="4981585714795233099">"Sláðu inn aðgangsorð til að dulkóða gögn fullrar afritunar. Ef þetta er skilið eftir autt verður núverandi aðgangsorð fyrir afritun notað:"</string>
    <string name="backup_enc_password_optional" msgid="1350137345907579306">"Ef þú vilt dulkóða gögn fullrar afritunar skaltu slá inn aðgangsorð hér að neðan:"</string>
    <string name="backup_enc_password_required" msgid="7889652203371654149">"Þar sem tækið er dulkóðað þarftu að dulkóða öryggisafritið. Veldu aðgangsorð hér fyrir neðan:"</string>
    <string name="restore_enc_password_text" msgid="6140898525580710823">"Ef endurheimt gögn eru dulkóðuð skaltu slá inn aðgangsorðið hér að neðan:"</string>
    <string name="toast_backup_started" msgid="550354281452756121">"Afritun er að hefjast..."</string>
    <string name="toast_backup_ended" msgid="3818080769548726424">"Afritun lokið"</string>
    <string name="toast_restore_started" msgid="7881679218971277385">"Endurheimt er að hefjast..."</string>
    <string name="toast_restore_ended" msgid="1764041639199696132">"Endurheimt lokið"</string>
    <string name="toast_timeout" msgid="5276598587087626877">"Aðgerðin rann út á tíma"</string>
</resources>
