################################################################################
##
##  Licensed to the Apache Software Foundation (ASF) under one or more
##  contributor license agreements.  See the NOTICE file distributed with
##  this work for additional information regarding copyright ownership.
##  The ASF licenses this file to You 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.
##
################################################################################

computer=Ordinateur

fileSystemList_measuredText=XXXXXXXXXXXXXXXXXXXXXXXXX

fileSystemDataGrid_nameColumnHeader=Nom
fileSystemDataGrid_nameColumnMeasuredText=XXXXXXXXXXXXXXX

fileSystemDataGrid_typeColumnHeader=Type
fileSystemDataGrid_typeColumnMeasuredText=Fichier XXXX
fileSystemDataGrid_typeFolder=Dossier
fileSystemDataGrid_typeFileWithExtension=Fichier {0}
fileSystemDataGrid_typeFileWithoutExtension=Fichier

fileSystemDataGrid_sizeColumnHeader=Taille
fileSystemDataGrid_sizeColumnMeasuredText=0000000000
fileSystemDataGrid_sizeFolder=-
fileSystemDataGrid_sizeBytes={0}
fileSystemDataGrid_sizeKilobytes={0} Ko

fileSystemDataGrid_creationDateColumnHeader=Créé le
fileSystemDataGrid_creationDateColumnMeasuredText=00.00.0000 00:00

fileSystemDataGrid_modificationDateColumnHeader=Modifié le
fileSystemDataGrid_modificationDateColumnMeasuredText=00.00.0000 00:00

fileSystemDataGrid_dateFormatString=DD.MM.YYYY HH:NN

fileSystemTree_measuredText=XXXXXXXXXXXXXXXXXXXXXXXXX
