<?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">"Dokümanlar"</string>
    <string name="title_open" msgid="4353228937663917801">"Şuradan aç:"</string>
    <string name="title_save" msgid="2433679664882857999">"Şuraya kaydet:"</string>
    <string name="menu_create_dir" msgid="5947289605844398389">"Klasör oluştur"</string>
    <string name="menu_grid" msgid="6878021334497835259">"Tablo görünümü"</string>
    <string name="menu_list" msgid="7279285939892417279">"Liste görünümü"</string>
    <string name="menu_sort" msgid="7677740407158414452">"Sıralama ölçütü"</string>
    <string name="menu_search" msgid="3816712084502856974">"Ara"</string>
    <string name="menu_settings" msgid="6008033148948428823">"Ayarlar"</string>
    <string name="menu_open" msgid="432922957274920903">"Aç"</string>
    <string name="menu_save" msgid="2394743337684426338">"Kaydet"</string>
    <string name="menu_share" msgid="3075149983979628146">"Paylaş"</string>
    <string name="menu_delete" msgid="8138799623850614177">"Sil"</string>
    <string name="menu_select" msgid="8711270657353563424">"\"<xliff:g id="DIRECTORY">^1</xliff:g>\" dizinini seç"</string>
    <!-- no translation found for menu_advanced_show (4693652895715631401) -->
    <skip />
    <!-- no translation found for menu_advanced_show (5792182900084144261) -->
    <skip />
    <!-- no translation found for menu_advanced_hide (4218809952721972589) -->
    <skip />
    <!-- no translation found for menu_advanced_hide (4845869969015718848) -->
    <skip />
    <!-- no translation found for menu_file_size_show (3240323619260823076) -->
    <skip />
    <!-- no translation found for menu_file_size_hide (8881975928502581042) -->
    <skip />
    <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> tane seçildi"</string>
    <string name="sort_name" msgid="9183560467917256779">"Ada göre"</string>
    <string name="sort_date" msgid="586080032956151448">"Değişiklik tarihine göre"</string>
    <string name="sort_size" msgid="3350681319735474741">"Boyuta göre"</string>
    <string name="drawer_open" msgid="4545466532430226949">"Kökleri göster"</string>
    <string name="drawer_close" msgid="7602734368552123318">"Kökleri sakla"</string>
    <string name="save_error" msgid="6167009778003223664">"Doküman kaydedilemedi"</string>
    <string name="create_error" msgid="3735649141335444215">"Klasör oluşturulamadı"</string>
    <string name="query_error" msgid="1222448261663503501">"Dokümanlar sorgulanamadı"</string>
    <string name="root_recent" msgid="4470053704320518133">"En son"</string>
    <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> boş"</string>
    <string name="root_type_service" msgid="2178854894416775409">"Depolama hizmetleri"</string>
    <string name="root_type_shortcut" msgid="3318760609471618093">"Kısayollar"</string>
    <string name="root_type_device" msgid="7121342474653483538">"Cihazlar"</string>
    <string name="root_type_apps" msgid="8838065367985945189">"Diğer uygulamalar"</string>
    <string name="empty" msgid="7858882803708117596">"Öğe yok"</string>
    <string name="toast_no_application" msgid="1339885974067891667">"Dosya açılamıyor"</string>
    <string name="toast_failed_delete" msgid="2180678019407244069">"Bazı dokümanlar silinemiyor"</string>
    <string name="share_via" msgid="8966594246261344259">"Şunu kullanarak paylaş:"</string>
</resources>
