<?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:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="generic_extention_file_type" msgid="5947398320635880291">"<xliff:g id="EXTENSION">%1$s</xliff:g>-tiedosto"</string>
    <string name="generic_file_type" msgid="1415477154743494280">"Tiedosto"</string>
    <string name="image_file_type" msgid="3011633523704887793">"Kuva"</string>
    <string name="image_extension_file_type" msgid="992617216367594851">"<xliff:g id="FILETYPE">%1$s</xliff:g>-kuva"</string>
    <string name="audio_file_type" msgid="3790525543519624632">"Ääni"</string>
    <string name="audio_extension_file_type" msgid="6334293531796491314">"<xliff:g id="FILETYPE">%1$s</xliff:g>-ääni"</string>
    <string name="video_file_type" msgid="7290473366042482095">"Video"</string>
    <string name="video_extension_file_type" msgid="6352763029831291433">"<xliff:g id="FILETYPE">%1$s</xliff:g>-video"</string>
    <string name="archive_file_type" msgid="1463432996680398798">"<xliff:g id="FILETYPE">%1$s</xliff:g>-arkisto"</string>
    <string name="apk_file_type" msgid="6004275470389462277">"Android-sovellus"</string>
    <string name="txt_file_type" msgid="4677767777860724696">"Pelkkä teksti"</string>
    <string name="html_file_type" msgid="2034229603117527970">"HTML-dokumentti"</string>
    <string name="pdf_file_type" msgid="3382260303795039988">"PDF-dokumentti"</string>
    <string name="word_file_type" msgid="2366349268129894972">"Word-dokumentti"</string>
    <string name="ppt_file_type" msgid="2570841599899893925">"PowerPoint-esitys"</string>
    <string name="excel_file_type" msgid="8363932635044575463">"Excel-laskentataulukko"</string>
    <string name="gdoc_file_type" msgid="242328101061228382">"Google-dokumentti"</string>
    <string name="gsheet_file_type" msgid="8055591929133067952">"Google-laskentataulukko"</string>
    <string name="gslides_file_type" msgid="8359750985956690177">"Google-esitys"</string>
    <string name="gdraw_file_type" msgid="655688091676820371">"Google-piirros"</string>
    <string name="gtable_file_type" msgid="7332773878374650335">"Google-taulukko"</string>
    <string name="gform_file_type" msgid="4803176103746107611">"Google-lomake"</string>
    <string name="gmap_file_type" msgid="6684180781808007016">"Google-kartta"</string>
    <string name="gsite_file_type" msgid="3742812051249149526">"Google-sivusto"</string>
    <string name="directory_type" msgid="2702987727566226354">"Kansio"</string>
</resources>
