<?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> fayl"</string>
    <string name="generic_file_type" msgid="1415477154743494280">"Fayl"</string>
    <string name="image_file_type" msgid="3011633523704887793">"Rasm"</string>
    <string name="image_extension_file_type" msgid="992617216367594851">"<xliff:g id="FILETYPE">%1$s</xliff:g> rasm"</string>
    <string name="audio_file_type" msgid="3790525543519624632">"Audio"</string>
    <string name="audio_extension_file_type" msgid="6334293531796491314">"<xliff:g id="FILETYPE">%1$s</xliff:g> audio"</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> arxiv"</string>
    <string name="apk_file_type" msgid="6004275470389462277">"Android ilovasi"</string>
    <string name="txt_file_type" msgid="4677767777860724696">"Oddiy matn"</string>
    <string name="html_file_type" msgid="2034229603117527970">"HTML hujjat"</string>
    <string name="pdf_file_type" msgid="3382260303795039988">"PDF hujjat"</string>
    <string name="word_file_type" msgid="2366349268129894972">"Word hujjat"</string>
    <string name="ppt_file_type" msgid="2570841599899893925">"PowerPoint taqdimot"</string>
    <string name="excel_file_type" msgid="8363932635044575463">"Excel jadval"</string>
    <string name="gdoc_file_type" msgid="242328101061228382">"Google-hujjat"</string>
    <string name="gsheet_file_type" msgid="8055591929133067952">"Google-jadval"</string>
    <string name="gslides_file_type" msgid="8359750985956690177">"Google-taqdimot"</string>
    <string name="gdraw_file_type" msgid="655688091676820371">"Google-chizma"</string>
    <string name="gtable_file_type" msgid="7332773878374650335">"Google-jadval"</string>
    <string name="gform_file_type" msgid="4803176103746107611">"Google-shakl"</string>
    <string name="gmap_file_type" msgid="6684180781808007016">"Google-xarita"</string>
    <string name="gsite_file_type" msgid="3742812051249149526">"Google-sayt"</string>
    <string name="directory_type" msgid="2702987727566226354">"Jild"</string>
</resources>
