<?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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <!-- Title of the documents application [CHAR LIMIT=32] -->
    <string name="app_label">Documents</string>

    <!-- Title of the standalone files activity. [CHAR LIMIT=32] -->
    <string name="files_label">Files</string>

    <!-- Action bar title prompting user to choose a location to open a document from [CHAR LIMIT=32] -->
    <string name="title_open">Open from</string>
    <!-- Action bar title prompting user to choose a location to save a document to [CHAR LIMIT=32] -->
    <string name="title_save">Save to</string>

    <!-- Menu item that creates a new directory/folder at the current location [CHAR LIMIT=24] -->
    <string name="menu_create_dir">Create folder</string>
    <!-- Menu item that switches view to show documents as a large-format grid of thumbnails [CHAR LIMIT=24] -->
    <string name="menu_grid">Grid view</string>
    <!-- Menu item that switches view to show documents as a list [CHAR LIMIT=24] -->
    <string name="menu_list">List view</string>
    <!-- Menu item that switches the criteria with which documents are sorted [CHAR LIMIT=24] -->
    <string name="menu_sort">Sort by</string>
    <!-- Menu item that enters a mode to search for documents [CHAR LIMIT=24] -->
    <string name="menu_search">Search</string>
    <!-- Menu item that enters activity to change settings [CHAR LIMIT=24] -->
    <string name="menu_settings">Settings</string>

    <!-- Menu item title that opens the selected documents [CHAR LIMIT=24] -->
    <string name="menu_open">Open</string>
    <!-- Menu item title that saves the current document [CHAR LIMIT=24] -->
    <string name="menu_save">Save</string>
    <!-- Menu item title that shares the selected documents [CHAR LIMIT=24] -->
    <string name="menu_share">Share</string>
    <!-- Menu item title that deletes the selected documents [CHAR LIMIT=24] -->
    <string name="menu_delete">Delete</string>
    <!-- Menu item title that selects all documents in the current directory [CHAR LIMIT=24] -->
    <string name="menu_select_all">Select all</string>
    <!-- Menu item title that copies the selected documents [CHAR LIMIT=24] -->
    <string name="menu_copy">Copy to\u2026</string>
    <!-- Menu item title that moves the selected documents [CHAR LIMIT=24] -->
    <string name="menu_move">Move to\u2026</string>

    <!-- Menu item title that creates a new window in the activity [CHAR LIMIT=24] -->
    <string name="menu_new_window">New window</string>
    <!-- Menu item title that copies the selected documents to clipboard [CHAR LIMIT=24] -->
    <string name="menu_copy_to_clipboard">Copy</string>
    <!-- Menu item title that pastes files from the clipboard [CHAR LIMIT=24] -->
    <string name="menu_paste_from_clipboard">Paste</string>

    <!-- Menu item that reveals internal storage built into the device [CHAR LIMIT=24] -->
    <string name="menu_advanced_show" product="nosdcard">Show internal storage</string>
    <!-- Menu item that reveals SD cards built into the device [CHAR LIMIT=24] -->
    <string name="menu_advanced_show" product="default">Show SD card</string>
    <!-- Menu item that hides internal storage built into the device [CHAR LIMIT=24] -->
    <string name="menu_advanced_hide" product="nosdcard">Hide internal storage</string>
    <!-- Menu item that hides SD cards built into the device [CHAR LIMIT=24] -->
    <string name="menu_advanced_hide" product="default">Hide SD card</string>

    <!-- Menu item that reveals the sizes of displayed files [CHAR LIMIT=24] -->
    <string name="menu_file_size_show">Show file size</string>
    <!-- Menu item that hides the sizes of displayed files [CHAR LIMIT=24] -->
    <string name="menu_file_size_hide">Hide file size</string>

    <!-- Button label that select the current directory [CHAR LIMIT=24] -->
    <string name="button_select">Select</string>
    <!-- Button label that copies files to the current directory [CHAR LIMIT=24] -->
    <string name="button_copy">Copy</string>
    <!-- Button label that moves files to the current directory [CHAR LIMIT=24] -->
    <string name="button_move">Move</string>
    <!-- Button label that hides the error bar [CHAR LIMIT=24] -->
    <string name="button_dismiss">Dismiss</string>
    <string name="button_retry">Try Again</string>
    
    <!-- Mode that sorts documents by their display name alphabetically [CHAR LIMIT=24] -->
    <string name="sort_name">By name</string>
    <!-- Mode that sorts documents by their last modified time in descending order; most recent first [CHAR LIMIT=24] -->
    <string name="sort_date">By date modified</string>
    <!-- Mode that sorts documents by their file size in descending order; largest first [CHAR LIMIT=24] -->
    <string name="sort_size">By size</string>

    <!-- Accessibility title to open the drawer showing all roots where documents can be stored [CHAR LIMIT=32] -->
    <string name="drawer_open">Show roots</string>
    <!-- Accessibility title to close the drawer showing all roots where documents can be stored [CHAR LIMIT=32] -->
    <string name="drawer_close">Hide roots</string>

    <!-- Toast shown when saving a document failed with an error [CHAR LIMIT=48] -->
    <string name="save_error">Failed to save document</string>
    <!-- Toast shown when creating a folder failed with an error [CHAR LIMIT=48] -->
    <string name="create_error">Failed to create folder</string>
    <!-- Error message shown when querying for a list of documents failed [CHAR LIMIT=48] -->
    <string name="query_error">Failed to query documents</string>

    <!-- Title of storage root location that contains recently modified or used documents [CHAR LIMIT=24] -->
    <string name="root_recent">Recent</string>
    <!-- Subtitle of storage root indicating the total free space available, in bytes [CHAR LIMIT=24] -->
    <string name="root_available_bytes"><xliff:g id="size" example="3GB">%1$s</xliff:g> free</string>

    <!-- Header title for list of storage roots that contains cloud services [CHAR LIMIT=24] -->
    <string name="root_type_service">Storage services</string>
    <!-- Header title for list of storage roots that contains shortcuts to documents that may be available elsewhere [CHAR LIMIT=24] -->
    <string name="root_type_shortcut">Shortcuts</string>
    <!-- Header title for list of storage roots that contains physical devices [CHAR LIMIT=24] -->
    <string name="root_type_device">Devices</string>
    <!-- Header title for list of additional apps that can provide documents [CHAR LIMIT=24] -->
    <string name="root_type_apps">More apps</string>

    <!-- Text shown when a directory of documents is empty [CHAR LIMIT=24] -->
    <string name="empty">No items</string>

    <!-- Toast shown when no app can be found to open the selected document [CHAR LIMIT=48] -->
    <string name="toast_no_application">Can\'t open file</string>
    <!-- Toast shown when some of the selected documents failed to be deleted [CHAR LIMIT=48] -->
    <string name="toast_failed_delete">Unable to delete some documents</string>

    <!-- Title of dialog when prompting user to select an app to share documents with [CHAR LIMIT=32] -->
    <string name="share_via">Share via</string>

    <!-- Title of the copy notification [CHAR LIMIT=24] -->
    <string name="copy_notification_title">Copying files</string>
    <!-- Title of the move notification [CHAR LIMIT=24] -->
    <string name="move_notification_title">Moving files</string>
    <!-- Text shown on the copy notification to indicate remaining time, in minutes [CHAR LIMIT=24] -->
    <string name="copy_remaining"><xliff:g id="duration" example="3 minutes">%s</xliff:g> left</string>
    <!-- Toast shown when a file copy is kicked off -->
    <plurals name="copy_begin">
        <item quantity="one">Copying <xliff:g id="count" example="1">%1$d</xliff:g> file.</item>
        <item quantity="other">Copying <xliff:g id="count" example="3">%1$d</xliff:g> files.</item>
    </plurals>
    <plurals name="move_begin">
        <item quantity="one">Moving <xliff:g id="count" example="1">%1$d</xliff:g> file.</item>
        <item quantity="other">Moving <xliff:g id="count" example="3">%1$d</xliff:g> files.</item>
    </plurals>
    <!-- Text shown when files are deleted -->
    <plurals name="deleting">
        <item quantity="one">Deleting <xliff:g id="count" example="1">%1$d</xliff:g> file.</item>
        <item quantity="other">Deleting <xliff:g id="count" example="3">%1$d</xliff:g> files.</item>
    </plurals>
    <!-- Text shown for the undo button -->
    <string name="undo">Undo</string>
    <!-- Text shown on the notification while DocumentsUI performs setup in preparation for copying files [CHAR LIMIT=32] -->
    <string name="copy_preparing">Preparing for copy\u2026</string>
    <!-- Text shown on the notification while DocumentsUI performs setup in preparation for moving files [CHAR LIMIT=32] -->
    <string name="move_preparing">Preparing for move\u2026</string>
    <!-- Title of the copy error notification [CHAR LIMIT=48] -->
    <plurals name="copy_error_notification_title">
        <item quantity="one">Couldn\'t copy <xliff:g id="count" example="1">%1$d</xliff:g> file</item>
        <item quantity="other">Couldn\'t copy <xliff:g id="count" example="2">%1$d</xliff:g> files</item>
    </plurals>
    <!-- Title of the move error notification [CHAR LIMIT=48] -->
    <plurals name="move_error_notification_title">
        <item quantity="one">Couldn\'t move <xliff:g id="count" example="1">%1$d</xliff:g> file</item>
        <item quantity="other">Couldn\'t move <xliff:g id="count" example="2">%1$d</xliff:g> files</item>
    </plurals>
    <!-- Second line for notifications saying that more information will be shown after touching [CHAR LIMIT=48] -->
    <string name="notification_touch_for_details">Touch to view details</string>
    <!-- Label of a dialog button for retrying a failed operation [CHAR LIMIT=24] -->
    <string name="retry">Retry</string>
    <!-- Contents of the copying failure alert dialog. [CHAR LIMIT=48] -->
    <string name="copy_failure_alert_content">These files weren\'t copied: <xliff:g id="list">%1$s</xliff:g></string>
    <!-- Contents of the moving failure alert dialog. [CHAR LIMIT=48] -->
    <string name="move_failure_alert_content">These files weren\'t moved: <xliff:g id="list">%1$s</xliff:g></string>
    <!-- Toast shown when a user copies files to clipboard. -->
    <plurals name="clipboard_files_clipped">
        <item quantity="one">Copied <xliff:g id="count" example="1">%1$d</xliff:g> file to clipboard.</item>
        <item quantity="other">Copied <xliff:g id="count" example="3">%1$d</xliff:g> files to clipboard.</item>
    </plurals>
    <!-- Toast shown when a user tries to paste files into an unsupported location. -->
    <string name="clipboard_files_cannot_paste">Cannot paste the selected files in this location.</string>
</resources>
