<?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_move" msgid="1828090633118079817">"Siirrä 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>
    <!-- no translation found for button_move (2202666023104202232) -->
    <skip />
    <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>
    <plurals name="move_begin" formatted="false" msgid="8430330882138871643">
      <item quantity="other">Siirretään <xliff:g id="COUNT_1">%1$d</xliff:g> tiedostoa.</item>
      <item quantity="one">Siirretään <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>
    <plurals name="clipboard_files_clipped" formatted="false" msgid="855459017537058539">
      <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> tiedostoa kopioitiin leikepöydälle.</item>
      <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> tiedosto kopioitiin leikepöydälle.</item>
    </plurals>
    <string name="clipboard_files_cannot_paste" msgid="4696369437408683222">"Valittuja tiedostoja ei voi liittää tähän sijaintiin."</string>
</resources>
