<?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">"Soubor <xliff:g id="EXTENSION">%1$s</xliff:g>"</string>
    <string name="generic_file_type" msgid="1415477154743494280">"Soubor"</string>
    <string name="image_file_type" msgid="3011633523704887793">"Obrázek"</string>
    <string name="image_extension_file_type" msgid="992617216367594851">"Obrázek <xliff:g id="FILETYPE">%1$s</xliff:g>"</string>
    <string name="audio_file_type" msgid="3790525543519624632">"Zvuk"</string>
    <string name="audio_extension_file_type" msgid="6334293531796491314">"Zvuk <xliff:g id="FILETYPE">%1$s</xliff:g>"</string>
    <string name="video_file_type" msgid="7290473366042482095">"Video"</string>
    <string name="video_extension_file_type" msgid="6352763029831291433">"Video <xliff:g id="FILETYPE">%1$s</xliff:g>"</string>
    <string name="archive_file_type" msgid="1463432996680398798">"Archiv <xliff:g id="FILETYPE">%1$s</xliff:g>"</string>
    <string name="apk_file_type" msgid="6004275470389462277">"Aplikace Android"</string>
    <string name="txt_file_type" msgid="4677767777860724696">"Prostý text"</string>
    <string name="html_file_type" msgid="2034229603117527970">"Dokument HTML"</string>
    <string name="pdf_file_type" msgid="3382260303795039988">"Dokument PDF"</string>
    <string name="word_file_type" msgid="2366349268129894972">"Dokument Word"</string>
    <string name="ppt_file_type" msgid="2570841599899893925">"Prezentace PowerPoint"</string>
    <string name="excel_file_type" msgid="8363932635044575463">"Tabulka Excel"</string>
    <string name="gdoc_file_type" msgid="242328101061228382">"Dokument Google"</string>
    <string name="gsheet_file_type" msgid="8055591929133067952">"Tabulka Google"</string>
    <string name="gslides_file_type" msgid="8359750985956690177">"Prezentace Google"</string>
    <string name="gdraw_file_type" msgid="655688091676820371">"Nákres Google"</string>
    <string name="gtable_file_type" msgid="7332773878374650335">"Tabulka Google"</string>
    <string name="gform_file_type" msgid="4803176103746107611">"Formulář Google"</string>
    <string name="gmap_file_type" msgid="6684180781808007016">"Mapa Google"</string>
    <string name="gsite_file_type" msgid="3742812051249149526">"Web Google"</string>
    <string name="directory_type" msgid="2702987727566226354">"Složka"</string>
</resources>
