###############################################################################
#  Copyright (c) 2017 CEA LIST.
#
#  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:
#  		CEA LIST - Initial API and implementation
###############################################################################
CDOContextCopyAction_0=Copy to Repository...
CDOContextCopyAction_1=Create a new Context by copying the selected Context into a CDO checkout (shared)
CDOContextCopyAction_2=A context with this name already exists
CDOContextCopyAction_3=Copying "{0}" to "{1}"
CDOContextDeleteAction_0=Delete context model from the repository
CDOContextDeleteAction_1=Deleting the "{0}" properties view model.
CDOContextEditAction_0=Open editor on context model in the repository
CDOContextEditAction_1=Opening the "{0}" properties view model.
CDOContextEditAction_2=Error committing changes to repository.
CDOContextEditAction_3=Commit Failed
CDOContextEditAction_4=Changes saved in the editor have to be committed to the repository.  That commit operation failed.
