<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2013 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="app_label" msgid="2783841764617238354">"Skjöl"</string>
    <string name="title_open" msgid="4353228937663917801">"Opna frá"</string>
    <string name="title_save" msgid="2433679664882857999">"Vista í"</string>
    <string name="menu_create_dir" msgid="5947289605844398389">"Búa til möppu"</string>
    <string name="menu_grid" msgid="6878021334497835259">"Töfluyfirlit"</string>
    <string name="menu_list" msgid="7279285939892417279">"Listayfirlit"</string>
    <string name="menu_sort" msgid="7677740407158414452">"Raða eftir"</string>
    <string name="menu_search" msgid="3816712084502856974">"Leita"</string>
    <string name="menu_settings" msgid="6008033148948428823">"Stillingar"</string>
    <string name="menu_open" msgid="432922957274920903">"Opna"</string>
    <string name="menu_save" msgid="2394743337684426338">"Vista"</string>
    <string name="menu_share" msgid="3075149983979628146">"Deila"</string>
    <string name="menu_delete" msgid="8138799623850614177">"Eyða"</string>
    <string name="menu_select" msgid="8711270657353563424">"Velja „<xliff:g id="DIRECTORY">^1</xliff:g>“"</string>
    <string name="menu_select_all" msgid="4320518282375109902">"Velja allt"</string>
    <string name="menu_copy" msgid="3612326052677229148">"Afrita í ..."</string>
    <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Sýna innbyggða geymslu"</string>
    <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Sýna SD-kort"</string>
    <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Fela innbyggða geymslu"</string>
    <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Fela SD-kort"</string>
    <string name="menu_file_size_show" msgid="3240323619260823076">"Sýna skráarstærð"</string>
    <string name="menu_file_size_hide" msgid="8881975928502581042">"Fela skráarstærð"</string>
    <!-- no translation found for button_copy (8706475544635021302) -->
    <skip />
    <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> valin"</string>
    <string name="sort_name" msgid="9183560467917256779">"Eftir heiti"</string>
    <string name="sort_date" msgid="586080032956151448">"Eftir breytingadags."</string>
    <string name="sort_size" msgid="3350681319735474741">"Eftir stærð"</string>
    <string name="drawer_open" msgid="4545466532430226949">"Sýna rótarsöfn"</string>
    <string name="drawer_close" msgid="7602734368552123318">"Fela rótarsöfn"</string>
    <string name="save_error" msgid="6167009778003223664">"Mistókst að vista skjalið"</string>
    <string name="create_error" msgid="3735649141335444215">"Mistókst að búa til möppu"</string>
    <string name="query_error" msgid="1222448261663503501">"Mistókst að senda skjalafyrirspurn"</string>
    <string name="root_recent" msgid="4470053704320518133">"Nýlegt"</string>
    <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> laus"</string>
    <string name="root_type_service" msgid="2178854894416775409">"Geymsluþjónusta"</string>
    <string name="root_type_shortcut" msgid="3318760609471618093">"Flýtileiðir"</string>
    <string name="root_type_device" msgid="7121342474653483538">"Tæki"</string>
    <string name="root_type_apps" msgid="8838065367985945189">"Fleiri forrit"</string>
    <string name="empty" msgid="7858882803708117596">"Engin atriði"</string>
    <string name="toast_no_application" msgid="1339885974067891667">"Ekki er hægt að opna skrána"</string>
    <string name="toast_failed_delete" msgid="2180678019407244069">"Ekki er hægt að eyða einhverjum skjölum"</string>
    <string name="share_via" msgid="8966594246261344259">"Deila í gegnum"</string>
    <string name="copy_notification_title" msgid="6374299806748219777">"Afritar skrár"</string>
    <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> eftir"</string>
    <plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
      <item quantity="one">Afritar <xliff:g id="COUNT_1">%1$d</xliff:g> skrá.</item>
      <item quantity="other">Afritar <xliff:g id="COUNT_1">%1$d</xliff:g> skrár.</item>
    </plurals>
    <string name="copy_preparing" msgid="3896202461003039386">"Undirbúningur fyrir afritun…"</string>
    <!-- no translation found for copy_error_notification_title (4911333304372840735) -->
    <!-- no translation found for notification_touch_for_details (4483108577842961665) -->
    <skip />
    <!-- no translation found for retry (7564024179122207376) -->
    <skip />
    <!-- no translation found for copy_failure_alert_title (616726451967793549) -->
    <skip />
    <!-- no translation found for copy_failure_alert_content (2655232627616241542) -->
    <skip />
</resources>
