#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial implementationCorporation. All Rights Reserved.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

# Indexing progress monitor
indexConfigFilesTask_name=Indexation des fichiers de configuration...

# Error Details
createSearchIndexError=Le fichier d'index de recherche n'a pas \u00e9t\u00e9 cr\u00e9\u00e9.


