<?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">"เอกสาร"</string>
    <string name="title_open" msgid="4353228937663917801">"เปิดจาก"</string>
    <string name="title_save" msgid="2433679664882857999">"บันทึกไปยัง"</string>
    <string name="menu_create_dir" msgid="5947289605844398389">"สร้างโฟลเดอร์"</string>
    <string name="menu_grid" msgid="6878021334497835259">"มุมมองตาราง"</string>
    <string name="menu_list" msgid="7279285939892417279">"มุมมองรายการ"</string>
    <string name="menu_sort" msgid="7677740407158414452">"จัดเรียงตาม"</string>
    <string name="menu_search" msgid="3816712084502856974">"ค้นหา"</string>
    <string name="menu_settings" msgid="6008033148948428823">"การตั้งค่า"</string>
    <string name="menu_open" msgid="432922957274920903">"เปิด"</string>
    <string name="menu_save" msgid="2394743337684426338">"บันทึก"</string>
    <string name="menu_share" msgid="3075149983979628146">"แชร์"</string>
    <string name="menu_delete" msgid="8138799623850614177">"นำออก"</string>
    <string name="menu_select" msgid="8711270657353563424">"เลือก \"<xliff:g id="DIRECTORY">^1</xliff:g>\""</string>
    <string name="mode_selected_count" msgid="459111894725594625">"เลือกไว้ <xliff:g id="COUNT">%1$d</xliff:g>"</string>
    <string name="sort_name" msgid="9183560467917256779">"ตามชื่อ"</string>
    <string name="sort_date" msgid="586080032956151448">"ตามวันที่ที่ปรับเปลี่ยน"</string>
    <string name="sort_size" msgid="3350681319735474741">"ตามขนาด"</string>
    <string name="drawer_open" msgid="4545466532430226949">"แสดงราก"</string>
    <string name="drawer_close" msgid="7602734368552123318">"ซ่อนราก"</string>
    <string name="save_error" msgid="6167009778003223664">"การบันทึกเอกสารล้มเหลว"</string>
    <string name="create_error" msgid="3735649141335444215">"การสร้างโฟลเดอร์ล้มเหลว"</string>
    <string name="query_error" msgid="1222448261663503501">"การค้นหาเอกสารล้มเหลว"</string>
    <string name="root_recent" msgid="4470053704320518133">"ล่าสุด"</string>
    <string name="root_available_bytes" msgid="8568452858617033281">"ว่าง <xliff:g id="SIZE">%1$s</xliff:g>"</string>
    <string name="root_type_service" msgid="2178854894416775409">"บริการที่เก็บข้อมูล"</string>
    <string name="root_type_shortcut" msgid="3318760609471618093">"ทางลัด"</string>
    <string name="root_type_device" msgid="7121342474653483538">"อุปกรณ์"</string>
    <string name="root_type_apps" msgid="8838065367985945189">"แอปเพิ่มเติม"</string>
    <string name="pref_advanced_devices" msgid="903257239609301276">"แสดงอุปกรณ์ขั้นสูง"</string>
    <string name="pref_file_size" msgid="2826879315743961459">"แสดงขนาดของไฟล์"</string>
    <string name="pref_device_size" msgid="3542106883278997222">"แสดงขนาดของอุปกรณ์"</string>
    <string name="empty" msgid="7858882803708117596">"ไม่มีรายการ"</string>
    <string name="toast_no_application" msgid="1339885974067891667">"ไม่สามารถเปิดไฟล์ได้"</string>
    <string name="toast_failed_delete" msgid="2180678019407244069">"ไม่สามารถนำออกเอกสารบางรายการ"</string>
    <string name="share_via" msgid="8966594246261344259">"แชร์ผ่าน"</string>
</resources>
