###############################################################################
# Copyright (c) 2008, 2012 Obeo.
# 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:
#     Obeo - initial API and implementation
###############################################################################

# Start of user code for titles customization

# End of user code

# default values ...
SimpleSample_ReadOnly=Cette propri\u00E9t\u00E9 est en lecture seule
SimpleSample_Part_Title=Base
PropertiesEditionPart_PropertiesGroupLabel=Propri\u00E9t\u00E9s
PropertiesEditionPart_EditTableViewerLabel=Editer
PropertiesEditionPart_DocumentationLabel=Documentation
PropertiesEditionPart_RequiredFeatureMessage=La propri\u00E9t\u00E9 {0} de l\u0027objet doit \u00EAtre renseign\u00E9e
PropertiesEditionPart_RemoveTableViewerLabel=Supprimer
PropertiesEditionPart_RemoveListViewerLabel=Supprimer
PropertiesEditionPart_IntegerValueMessage=La propri\u00E9t\u00E9 {0} doit \u00EAtre un entier
PropertiesEditionPart_FloatValueMessage=La propri\u00E9t\u00E9 {0} doit \u00EAtre un flottant
PropertiesEditionPart_ShortValueMessage=La propri\u00E9t\u00E9 {0} doit \u00EAtre un short
PropertiesEditionPart_DoubleValueMessage=La propri\u00E9t\u00E9 {0} doit \u00EAtre un double
PropertiesEditionPart_ByteValueMessage=La propri\u00E9t\u00E9 {0} doit \u00EAtre un byte
PropertiesEditionPart_LongValueMessage=La propri\u00E9t\u00E9 {0} doit \u00EAtre un long
PropertiesEditionPart_BigIntegerValueMessage=La propri\u00E9t\u00E9 {0} doit \u00EAtre un BigInteger
PropertiesEditionPart_BigDecimalValueMessage=La propri\u00E9t\u00E9 {0} doit \u00EAtre un BigDecimal
PropertiesEditionPart_AddTableViewerLabel=Ajouter
PropertiesEditionPart_AddListViewerLabel=Ajouter
