###############################################################################
# Copyright (c) 2005, 2006 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 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 API and implementation
###############################################################################
# NLS_MESSAGEFORMAT_VAR
# about.properties
# contains externalized strings for about.ini
# java.io.Properties file (ISO 8859-1 with "\" escapes)
# fill-ins are supplied by about.mappings
# This file should be translated.
#
# Do not translate any values surrounded by {}

featureName=Eclipse Platform 3.1.1 avec EMF et GEF 

blurb=Plateforme Eclipse\n\
\n\
Version : 3.1.1\n\
Identificateur de construction : M20050929-0840\n\
\n\
(c) Copyright Eclipse contributors and others 2000, 2005.  All rights reserved.\n\
Visitez la page suivante : http://www.eclipse.org/platform\n\
\n\
Ce produit contient des logiciels d\u00e9velopp\u00e9s par\n\
Apache Software Foundation http://www.apache.org/
