<?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">"Documents"</string>
    <string name="title_open" msgid="4353228937663917801">"Ouvert à partir de"</string>
    <string name="title_save" msgid="2433679664882857999">"Enregistrer dans"</string>
    <string name="menu_create_dir" msgid="5947289605844398389">"Créer un dossier"</string>
    <string name="menu_grid" msgid="6878021334497835259">"Grille"</string>
    <string name="menu_list" msgid="7279285939892417279">"Liste"</string>
    <string name="menu_sort" msgid="7677740407158414452">"Trier par"</string>
    <string name="menu_search" msgid="3816712084502856974">"Rechercher"</string>
    <string name="menu_settings" msgid="6008033148948428823">"Paramètres"</string>
    <string name="menu_open" msgid="432922957274920903">"Ouvrir"</string>
    <string name="menu_save" msgid="2394743337684426338">"Enregistrer"</string>
    <string name="menu_share" msgid="3075149983979628146">"Partager"</string>
    <string name="menu_delete" msgid="8138799623850614177">"Supprimer"</string>
    <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> sélectionné(s)"</string>
    <string name="sort_name" msgid="9183560467917256779">"Par nom"</string>
    <string name="sort_date" msgid="586080032956151448">"Par date de modification"</string>
    <string name="sort_size" msgid="3350681319735474741">"Par taille"</string>
    <string name="drawer_open" msgid="4545466532430226949">"Afficher les racines"</string>
    <string name="drawer_close" msgid="7602734368552123318">"Masquer les racines"</string>
    <string name="save_error" msgid="6167009778003223664">"Échec de l\'enregistrement du document"</string>
    <string name="create_error" msgid="3735649141335444215">"Échec de la création du dossier"</string>
    <string name="query_error" msgid="1222448261663503501">"Échec de la demande de document"</string>
    <string name="root_recent" msgid="4470053704320518133">"Récents"</string>
    <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> disponible"</string>
    <string name="root_type_service" msgid="2178854894416775409">"Services de stockage"</string>
    <string name="root_type_shortcut" msgid="3318760609471618093">"Raccourcis"</string>
    <string name="root_type_device" msgid="7121342474653483538">"Appareils"</string>
    <string name="root_type_apps" msgid="8838065367985945189">"Plus d\'applications"</string>
    <string name="pref_advanced_devices" msgid="903257239609301276">"Afficher les appareils avancés"</string>
    <string name="pref_file_size" msgid="2826879315743961459">"Afficher la taille du fichier"</string>
    <string name="pref_device_size" msgid="3542106883278997222">"Taille de l\'écran de l\'appareil"</string>
    <string name="empty" msgid="7858882803708117596">"Aucun élément"</string>
    <string name="toast_no_application" msgid="1339885974067891667">"Impossible d\'ouvrir le fichier"</string>
    <string name="toast_failed_delete" msgid="2180678019407244069">"Impossible de supprimer certains documents"</string>
    <string name="share_via" msgid="8966594246261344259">"Partager par"</string>
</resources>
