###############################################################################
# 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 ...
EMFElementBindingPropertiesEditionPart_PropertiesGroupLabel=Properties
EMFElementBindingPropertiesEditionPart_BindingGroupLabel=Binding
EMFPropertyBindingPropertiesEditionPart_PropertiesGroupLabel=Properties
EMFPropertyBindingPropertiesEditionPart_BindingGroupLabel=Binding
StandardElementBindingPropertiesEditionPart_PropertiesGroupLabel=Properties
StandardElementBindingPropertiesEditionPart_BindingGroupLabel=Binding
StandardPropertyBindingPropertiesEditionPart_PropertiesGroupLabel=Properties
StandardPropertyBindingPropertiesEditionPart_BindingGroupLabel=Binding
CategoryPropertiesEditionPart_PropertiesGroupLabel=Properties
ElementBindingReferencePropertiesEditionPart_ReferenceGroupLabel=R\u00e9ference
EMFMultiPropertiesBindingPropertiesEditionPart_PropertiesGroupLabel=Properties
EMFMultiPropertiesBindingPropertiesEditionPart_BindingGroupLabel=Binding
DocumentationPropertiesEditionPart_DocumentationGroupLabel=Documentation
FilterPropertiesPropertiesEditionPart_FilterPropertiesGroupLabel=Filter Properties
EMFElementBinding_ReadOnly=This property is read only
EMFElementBinding_Part_Title=Base
EMFPropertyBinding_ReadOnly=This property is read only
EMFPropertyBinding_Part_Title=Base
StandardElementBinding_ReadOnly=This property is read only
StandardElementBinding_Part_Title=Base
StandardPropertyBinding_ReadOnly=This property is read only
StandardPropertyBinding_Part_Title=Base
Category_ReadOnly=This property is read only
Category_Part_Title=Base
ElementBindingReference_ReadOnly=This property is read only
ElementBindingReference_Part_Title=Base
EMFMultiPropertiesBinding_ReadOnly=This property is read only
EMFMultiPropertiesBinding_Part_Title=Base
Documentation_ReadOnly=This property is read only
Documentation_Part_Title=Documentation
FilterProperties_ReadOnly=This property is read only
FilterProperties_Part_Title=Filter properties
EMFElementBindingPropertiesEditionPart_NameLabel=Name : 
EMFElementBindingPropertiesEditionPart_ModelLabel=Model : 
EMFElementBindingPropertiesEditionPart_ViewsLabel=Views : 
EMFPropertyBindingPropertiesEditionPart_NameLabel=Name : 
EMFPropertyBindingPropertiesEditionPart_ModelLabel=Model : 
EMFPropertyBindingPropertiesEditionPart_ViewsLabel=Views : 
StandardElementBindingPropertiesEditionPart_NameLabel=Name : 
StandardElementBindingPropertiesEditionPart_ModelLabel=Model : 
StandardElementBindingPropertiesEditionPart_ViewsLabel=Views : 
StandardPropertyBindingPropertiesEditionPart_NameLabel=Name : 
StandardPropertyBindingPropertiesEditionPart_ModelLabel=Model : 
StandardPropertyBindingPropertiesEditionPart_ViewsLabel=Views : 
CategoryPropertiesEditionPart_NameLabel=Name : 
ElementBindingReferencePropertiesEditionPart_BindingLabel=Binding : 
EMFMultiPropertiesBindingPropertiesEditionPart_NameLabel=Name : 
EMFMultiPropertiesBindingPropertiesEditionPart_ModelLabel=Model : 
EMFMultiPropertiesBindingPropertiesEditionPart_ViewsLabel=Views : 
DocumentationPropertiesEditionPart_DocumentationLabel=Documentation : 
FilterPropertiesPropertiesEditionPart_NameLabel=Name : 
FilterPropertiesPropertiesEditionPart_MandatoryLabel=Mandatory
PropertiesEditionPart_PropertiesGroupLabel=Properties
PropertiesEditionPart_EditTableViewerLabel=Edit
PropertiesEditionPart_DocumentationLabel=Documentation
PropertiesEditionPart_RequiredFeatureMessage=The property {0} of the object shall be filled
PropertiesEditionPart_RemoveTableViewerLabel=Delete
PropertiesEditionPart_RemoveListViewerLabel=Delete
PropertiesEditionPart_IntegerValueMessage=The property {0} shall be an integer
PropertiesEditionPart_FloatValueMessage=The property {0} shall be a float
PropertiesEditionPart_ShortValueMessage=The property {0} shall be a short
PropertiesEditionPart_DoubleValueMessage=The property {0} shall be a double
PropertiesEditionPart_ByteValueMessage=The property {0} shall be a byte
PropertiesEditionPart_LongValueMessage=The property {0} shall be a long
PropertiesEditionPart_BigIntegerValueMessage=The property {0} shall be a BigInteger
PropertiesEditionPart_BigDecimalValueMessage=The property {0} shall be a BigDecimal
PropertiesEditionPart_AddTableViewerLabel=Add
PropertiesEditionPart_AddListViewerLabel=Add
