<?xml version="1.0" encoding="utf-8"?>
<!--
  ~ Copyright (C) 2017 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">
    <!-- Generic file type with an extention shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="generic_extention_file_type"><xliff:g id="extension" example="APE">%1$s</xliff:g> file</string>
    <!-- Generic file type without an extention shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="generic_file_type">File</string>
    <!-- Generic image file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="image_file_type">Image</string>
    <!-- Image file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="image_extension_file_type"><xliff:g id="fileType" example="JPG">%1$s</xliff:g> image</string>
    <!-- Generic audio file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="audio_file_type">Audio</string>
    <!-- Audio file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="audio_extension_file_type"><xliff:g id="fileType" example="MP3">%1$s</xliff:g> audio</string>
    <!-- Generic video file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="video_file_type">Video</string>
    <!-- Video file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="video_extension_file_type"><xliff:g id="fileType" example="AVI">%1$s</xliff:g> video</string>
    <!-- Archive file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="archive_file_type"><xliff:g id="fileType" example="Zip">%1$s</xliff:g> archive</string>
    <!-- Android application file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="apk_file_type">Android application</string>
    <!-- Plain text file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="txt_file_type">Plain text</string>
    <!-- HTML file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="html_file_type">HTML document</string>
    <!-- PDF file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="pdf_file_type">PDF document</string>
    <!-- Word document file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="word_file_type">Word document</string>
    <!-- PowerPoint presentation file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="ppt_file_type">PowerPoint presentation</string>
    <!-- Excel spreadsheet file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="excel_file_type">Excel spreadsheet</string>
    <!-- Google document file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="gdoc_file_type">Google document</string>
    <!-- Google spreadsheet file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="gsheet_file_type">Google spreadsheet</string>
    <!-- Google presentation file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="gslides_file_type">Google presentation</string>
    <!-- Google drawing file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="gdraw_file_type">Google drawing</string>
    <!-- Google table file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="gtable_file_type">Google table</string>
    <!-- Google form file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="gform_file_type">Google form</string>
    <!-- Google map file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="gmap_file_type">Google map</string>
    <!-- Google site file type shown in type column in list view. [CHAR LIMIT=30] -->
    <string name="gsite_file_type">Google site</string>
    <!-- Generic directory type shown when viewing a folder in the properties view -->
    <string name="directory_type">Folder</string>
</resources>
