<?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">"Asiakirjat"</string>
    <string name="title_open" msgid="4353228937663917801">"Avaa sijainnista"</string>
    <string name="title_save" msgid="2433679664882857999">"Tallenna kohteeseen"</string>
    <string name="menu_create_dir" msgid="5947289605844398389">"Luo kansio"</string>
    <string name="menu_grid" msgid="6878021334497835259">"Ruudukkonäkymä"</string>
    <string name="menu_list" msgid="7279285939892417279">"Luettelonäkymä"</string>
    <string name="menu_sort" msgid="7677740407158414452">"Lajitteluperuste"</string>
    <string name="menu_search" msgid="3816712084502856974">"Haku"</string>
    <string name="menu_settings" msgid="6008033148948428823">"Asetukset"</string>
    <string name="menu_open" msgid="432922957274920903">"Avaa"</string>
    <string name="menu_save" msgid="2394743337684426338">"Tallenna"</string>
    <string name="menu_share" msgid="3075149983979628146">"Jaa"</string>
    <string name="menu_delete" msgid="8138799623850614177">"Poista"</string>
    <string name="menu_select" msgid="8711270657353563424">"Valitse <xliff:g id="DIRECTORY">^1</xliff:g>"</string>
    <string name="menu_select_all" msgid="4320518282375109902">"Valitse kaikki"</string>
    <string name="menu_copy" msgid="3612326052677229148">"Kopioi kohteeseen…"</string>
    <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Näytä sis. tallennustila"</string>
    <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"Näytä SD-kortti"</string>
    <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Piilota sis. tallennust."</string>
    <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"Piilota SD-kortti"</string>
    <string name="menu_file_size_show" msgid="3240323619260823076">"Näytä tiedostokoko"</string>
    <string name="menu_file_size_hide" msgid="8881975928502581042">"Piilota tiedostokoko"</string>
    <string name="button_copy" msgid="8706475544635021302">"Kopioi"</string>
    <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> valittua"</string>
    <string name="sort_name" msgid="9183560467917256779">"Nimen mukaan"</string>
    <string name="sort_date" msgid="586080032956151448">"Muokkauspäivän mukaan"</string>
    <string name="sort_size" msgid="3350681319735474741">"Koon mukaan"</string>
    <string name="drawer_open" msgid="4545466532430226949">"Näytä juuret"</string>
    <string name="drawer_close" msgid="7602734368552123318">"Piilota juuret"</string>
    <string name="save_error" msgid="6167009778003223664">"Asiakirjan tallennus epäonnistui"</string>
    <string name="create_error" msgid="3735649141335444215">"Kansion luominen epäonnistui"</string>
    <string name="query_error" msgid="1222448261663503501">"Dokumenttikysely epäonnistui"</string>
    <string name="root_recent" msgid="4470053704320518133">"Viimeisimmät"</string>
    <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> vapaana"</string>
    <string name="root_type_service" msgid="2178854894416775409">"Tallennuspalvelut"</string>
    <string name="root_type_shortcut" msgid="3318760609471618093">"Pikakuvakkeet"</string>
    <string name="root_type_device" msgid="7121342474653483538">"Laitteet"</string>
    <string name="root_type_apps" msgid="8838065367985945189">"Lisää sovelluksia"</string>
    <string name="empty" msgid="7858882803708117596">"Ei kohteita"</string>
    <string name="toast_no_application" msgid="1339885974067891667">"Tiedostoa ei voi avata"</string>
    <string name="toast_failed_delete" msgid="2180678019407244069">"Joitakin asiakirjoja ei voi poistaa"</string>
    <string name="share_via" msgid="8966594246261344259">"Jaa sovelluksessa"</string>
    <string name="copy_notification_title" msgid="6374299806748219777">"Kopioidaan tiedostoja"</string>
    <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> jäljellä"</string>
    <plurals name="copy_begin" formatted="false" msgid="9071199452634086365">
      <item quantity="other">Kopioidaan <xliff:g id="COUNT_1">%1$d</xliff:g> tiedostoa.</item>
      <item quantity="one">Kopioidaan <xliff:g id="COUNT_0">%1$d</xliff:g> tiedosto.</item>
    </plurals>
    <string name="copy_preparing" msgid="3896202461003039386">"Valmistellaan kopiointia…"</string>
    <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261">
      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> tiedoston kopioiminen epäonnistui.</item>
      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> tiedoston kopioiminen epäonnistui.</item>
    </plurals>
    <string name="notification_touch_for_details" msgid="4483108577842961665">"Lue lisätietoja koskettamalla"</string>
    <string name="retry" msgid="7564024179122207376">"Yritä uudelleen"</string>
    <string name="copy_failure_alert_content" msgid="3715575000297709082">"Seuraavia tiedostoja ei kopioitu: <xliff:g id="LIST">%1$s</xliff:g>"</string>
</resources>
