<?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="3303317181319900082">"Files"</string>
    <string name="title_open" msgid="3165686459158020921">"Open from"</string>
    <string name="title_save" msgid="4384490653102710025">"Save to"</string>
    <string name="menu_create_dir" msgid="2413624798689091042">"New folder"</string>
    <string name="menu_grid" msgid="1453636521731880680">"Grid view"</string>
    <string name="menu_list" msgid="6714267452146410402">"List View"</string>
    <string name="menu_search" msgid="1876699106790719849">"Search"</string>
    <string name="menu_settings" msgid="6520844520117939047">"Storage settings"</string>
    <string name="menu_open" msgid="9092138100049759315">"Open"</string>
    <string name="menu_open_with" msgid="5507647065467520229">"Open with"</string>
    <string name="menu_open_in_new_window" msgid="6686563636123311276">"Open in new window"</string>
    <string name="menu_save" msgid="5195367497138965168">"Save"</string>
    <string name="menu_share" msgid="4307140947108068356">"Shared"</string>
    <string name="menu_delete" msgid="1022254131543256626">"Delete"</string>
    <string name="menu_select_all" msgid="7600576812185570403">"Select all"</string>
    <string name="menu_copy" msgid="7404820171352314754">"Copy to…"</string>
    <string name="menu_move" msgid="2310760789561129882">"Move to…"</string>
    <string name="menu_compress" msgid="37539111904724188">"Compress"</string>
    <string name="menu_extract" msgid="8171946945982532262">"Extract to…"</string>
    <string name="menu_rename" msgid="1883113442688817554">"Rename"</string>
    <string name="menu_new_window" msgid="2947837751796109126">"New window"</string>
    <string name="menu_cut_to_clipboard" msgid="2878752142015026229">"Cut"</string>
    <string name="menu_copy_to_clipboard" msgid="5064081159073330776">"Copy"</string>
    <string name="menu_paste_from_clipboard" msgid="360947260414135827">"Paste"</string>
    <string name="menu_paste_into_folder" msgid="8000644546983240101">"Paste into folder"</string>
    <string name="menu_advanced_show" msgid="7558626506462906726">"Show internal storage"</string>
    <string name="menu_advanced_hide" msgid="6488381508009246334">"Hide internal storage"</string>
    <string name="button_select" msgid="240863497069321364">"Select"</string>
    <string name="button_copy" msgid="8219059853840996027">"Copy"</string>
    <string name="button_compress" msgid="8951561310857223966">"Compress"</string>
    <string name="button_extract" msgid="1038674453689912247">"Extract"</string>
    <string name="button_move" msgid="8596460499325291272">"Move"</string>
    <string name="button_dismiss" msgid="7235249361023803349">"Dismiss"</string>
    <string name="button_retry" msgid="4011461781916631389">"Try again"</string>
    <string name="not_sorted" msgid="7813496644889115530">"Not sorted"</string>
    <string name="sort_dimension_name" msgid="6325591541414177579">"Name"</string>
    <string name="sort_dimension_summary" msgid="7724534446881397860">"Summary"</string>
    <string name="sort_dimension_date" msgid="4231005651895254033">"Modified"</string>
    <string name="sort_dimension_size" msgid="2190547351159472884">"Size"</string>
    <string name="sort_direction_ascending" msgid="5882787683763248102">"Ascending"</string>
    <string name="sort_direction_descending" msgid="1729187589765894076">"Descending"</string>
    <string name="drawer_open" msgid="8071673398187261741">"Show roots"</string>
    <string name="drawer_close" msgid="4263880768630848848">"Hide roots"</string>
    <string name="save_error" msgid="8631128801982095782">"Failed to save document"</string>
    <string name="create_error" msgid="3092144450044861994">"Failed to create folder"</string>
    <string name="query_error" msgid="6625421453613879336">"Can’t load content at the moment"</string>
    <string name="root_recent" msgid="1080156975424341623">"Recent"</string>
    <string name="root_available_bytes" msgid="8269870862691408864">"<xliff:g id="SIZE">%1$s</xliff:g> free"</string>
    <string name="root_type_service" msgid="6521366147466512289">"Storage services"</string>
    <string name="root_type_shortcut" msgid="6059343175525442279">"Shortcuts"</string>
    <string name="root_type_device" msgid="1713604128005476585">"Devices"</string>
    <string name="root_type_apps" msgid="8646073235029886342">"More apps"</string>
    <string name="empty" msgid="5300254272613103004">"No items"</string>
    <string name="no_results" msgid="2371026325236359209">"No matches in %1$s"</string>
    <string name="toast_no_application" msgid="7555319548595113121">"Can’t open file"</string>
    <string name="toast_failed_delete" msgid="3453846588205817591">"Unable to delete some documents"</string>
    <string name="share_via" msgid="8725082736005677161">"Share via"</string>
    <string name="copy_notification_title" msgid="52256435625098456">"Copying files"</string>
    <string name="compress_notification_title" msgid="6830195148113751021">"Compressing files"</string>
    <string name="move_notification_title" msgid="3173424987049347605">"Moving files"</string>
    <string name="delete_notification_title" msgid="2512757431856830792">"Deleting files"</string>
    <string name="copy_remaining" msgid="5390517377265177727">"<xliff:g id="DURATION">%s</xliff:g> left"</string>
    <plurals name="copy_begin" formatted="false" msgid="3926184736640418042">
      <item quantity="other">Copying <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
      <item quantity="one">Copying <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
    </plurals>
    <plurals name="compress_begin" formatted="false" msgid="3534158317098678895">
      <item quantity="other">Compressing <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
      <item quantity="one">Compressing <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
    </plurals>
    <plurals name="extract_begin" formatted="false" msgid="1006380679562903749">
      <item quantity="other">Extracting <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
      <item quantity="one">Extracting <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
    </plurals>
    <plurals name="move_begin" formatted="false" msgid="6049210105852581598">
      <item quantity="other">Moving <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
      <item quantity="one">Moving <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
    </plurals>
    <plurals name="deleting" formatted="false" msgid="1347549374456757591">
      <item quantity="other">Deleting <xliff:g id="COUNT_1">%1$d</xliff:g> files.</item>
      <item quantity="one">Deleting <xliff:g id="COUNT_0">%1$d</xliff:g> file.</item>
    </plurals>
    <string name="undo" msgid="2902438994196400565">"Undo"</string>
    <string name="copy_preparing" msgid="5326063807006898223">"Preparing for copy…"</string>
    <string name="compress_preparing" msgid="6650018601382062672">"Preparing for compress…"</string>
    <string name="move_preparing" msgid="8742573245485449429">"Preparing for move…"</string>
    <string name="delete_preparing" msgid="6513863752916028147">"Preparing to delete…"</string>
    <string name="delete_progress" msgid="2627631054702306423">"<xliff:g id="COUNT_0">%1$d</xliff:g> / <xliff:g id="TOTALCOUNT">%2$d</xliff:g>"</string>
    <plurals name="copy_error_notification_title" formatted="false" msgid="7406207967429915000">
      <item quantity="other">Couldn’t copy <xliff:g id="COUNT_1">%1$d</xliff:g> files</item>
      <item quantity="one">Couldn’t copy <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
    </plurals>
    <plurals name="compress_error_notification_title" formatted="false" msgid="3043630066678213644">
      <item quantity="other">Couldn’t compress <xliff:g id="COUNT_1">%1$d</xliff:g> files</item>
      <item quantity="one">Couldn’t compress <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
    </plurals>
    <plurals name="move_error_notification_title" formatted="false" msgid="7841920776201038994">
      <item quantity="other">Couldn’t move <xliff:g id="COUNT_1">%1$d</xliff:g> files</item>
      <item quantity="one">Couldn’t move <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
    </plurals>
    <plurals name="delete_error_notification_title" formatted="false" msgid="4925525467677907298">
      <item quantity="other">Couldn’t delete <xliff:g id="COUNT_1">%1$d</xliff:g> files</item>
      <item quantity="one">Couldn’t delete <xliff:g id="COUNT_0">%1$d</xliff:g> file</item>
    </plurals>
    <string name="notification_touch_for_details" msgid="2385563502445129570">"Tap to view details"</string>
    <string name="close" msgid="905969391788869975">"Close"</string>
    <plurals name="copy_failure_alert_content" formatted="false" msgid="5570549471912990536">
      <item quantity="other">These files weren’t copied: <xliff:g id="LIST_1">%1$s</xliff:g></item>
      <item quantity="one">This file wasn’t copied: <xliff:g id="LIST_0">%1$s</xliff:g></item>
    </plurals>
    <plurals name="compress_failure_alert_content" formatted="false" msgid="5760632881868842400">
      <item quantity="other">These files weren’t compressed: <xliff:g id="LIST_1">%1$s</xliff:g></item>
      <item quantity="one">This file wasn’t compressed: <xliff:g id="LIST_0">%1$s</xliff:g></item>
    </plurals>
    <plurals name="extract_failure_alert_content" formatted="false" msgid="7572748127571720803">
      <item quantity="other">These files weren’t extracted: <xliff:g id="LIST_1">%1$s</xliff:g></item>
      <item quantity="one">This file wasn’t extracted: <xliff:g id="LIST_0">%1$s</xliff:g></item>
    </plurals>
    <plurals name="move_failure_alert_content" formatted="false" msgid="2747390342670799196">
      <item quantity="other">These files weren’t moved: <xliff:g id="LIST_1">%1$s</xliff:g></item>
      <item quantity="one">This file wasn’t moved: <xliff:g id="LIST_0">%1$s</xliff:g></item>
    </plurals>
    <plurals name="delete_failure_alert_content" formatted="false" msgid="6122372614839711711">
      <item quantity="other">These files weren’t deleted: <xliff:g id="LIST_1">%1$s</xliff:g></item>
      <item quantity="one">This file wasn’t deleted: <xliff:g id="LIST_0">%1$s</xliff:g></item>
    </plurals>
    <plurals name="copy_converted_warning_content" formatted="false" msgid="7433742181712126588">
      <item quantity="other">These files were converted to another format: <xliff:g id="LIST_1">%1$s</xliff:g></item>
      <item quantity="one">This file was converted to another format: <xliff:g id="LIST_0">%1$s</xliff:g></item>
    </plurals>
    <plurals name="clipboard_files_clipped" formatted="false" msgid="139644798886220070">
      <item quantity="other">Copied <xliff:g id="COUNT_1">%1$d</xliff:g> files to clipboard.</item>
      <item quantity="one">Copied <xliff:g id="COUNT_0">%1$d</xliff:g> file to clipboard.</item>
    </plurals>
    <string name="file_operation_error" msgid="5016141190607538391">"File operation is not supported."</string>
    <string name="rename_error" msgid="6700093173508118635">"Failed to rename document"</string>
    <string name="menu_eject_root" msgid="9215040039374893613">"Eject"</string>
    <string name="notification_copy_files_converted_title" msgid="6916768494891833365">"Some files were converted"</string>
    <string name="open_external_dialog_request" msgid="8173558471322861268">"Grant <xliff:g id="APPNAME"><b>^1</b></xliff:g> access to <xliff:g id="DIRECTORY"><i>^2</i></xliff:g> directory on <xliff:g id="STORAGE"><i>^3</i></xliff:g>?"</string>
    <string name="open_external_dialog_request_primary_volume" msgid="2240992164087948176">"Grant <xliff:g id="APPNAME"><b>^1</b></xliff:g> access to <xliff:g id="DIRECTORY"><i>^2</i></xliff:g> directory?"</string>
    <string name="open_external_dialog_root_request" msgid="6776729293982633">"Grant <xliff:g id="APPNAME"><b>^1</b></xliff:g> access to your data, including photos and videos, on <xliff:g id="STORAGE"><i>^2</i></xliff:g>?"</string>
    <string name="never_ask_again" msgid="525908236522201138">"Don\'t ask again"</string>
    <string name="allow" msgid="1275746941353040309">"Allow"</string>
    <string name="deny" msgid="5127201668078153379">"Deny"</string>
    <plurals name="elements_selected" formatted="false" msgid="4448165978637163692">
      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> selected</item>
      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> selected</item>
    </plurals>
    <plurals name="elements_dragged" formatted="false" msgid="5932571296037626279">
      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> items</item>
      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> item</item>
    </plurals>
    <string name="delete_filename_confirmation_message" msgid="8338069763240613258">"Delete \"<xliff:g id="NAME">%1$s</xliff:g>\"?"</string>
    <string name="delete_foldername_confirmation_message" msgid="9084085260877704140">"Delete folder \"<xliff:g id="NAME">%1$s</xliff:g>\" and its contents?"</string>
    <plurals name="delete_files_confirmation_message" formatted="false" msgid="4866664063250034142">
      <item quantity="other">Delete <xliff:g id="COUNT_1">%1$d</xliff:g> files?</item>
      <item quantity="one">Delete <xliff:g id="COUNT_0">%1$d</xliff:g> file?</item>
    </plurals>
    <plurals name="delete_folders_confirmation_message" formatted="false" msgid="1028946402799686388">
      <item quantity="other">Delete <xliff:g id="COUNT_1">%1$d</xliff:g> folders and their contents?</item>
      <item quantity="one">Delete <xliff:g id="COUNT_0">%1$d</xliff:g> folder and its contents?</item>
    </plurals>
    <plurals name="delete_items_confirmation_message" formatted="false" msgid="7285090426511028179">
      <item quantity="other">Delete <xliff:g id="COUNT_1">%1$d</xliff:g> items?</item>
      <item quantity="one">Delete <xliff:g id="COUNT_0">%1$d</xliff:g> item?</item>
    </plurals>
    <string name="images_shortcut_label" msgid="2545168016070493574">"Images"</string>
    <string name="archive_loading_failed" msgid="7243436722828766996">"Unable to open archive for browsing. File is either corrupt or an unsupported format."</string>
    <string name="name_conflict" msgid="28407269328862986">"A file with this name already exists."</string>
    <string name="authentication_required" msgid="2314941212791346284">"Authentication is required to see the content of this directory"</string>
    <string name="open_app" msgid="8467890061226696744">"Open <xliff:g id="NAME">%1$s</xliff:g>"</string>
</resources>
