# ==============================================================================
# Copyright (c) 2009-2013 Eike Stepper (Berlin, Germany) 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:
#    Victor Roldan Betancort - initial API and implementation
#    Eike Stepper            - maintenance
#    Christian W. Damus (CEA LIST) - bug 399306, bug 399487
# ==============================================================================

# ==============================================================================
# This properties file contains all strings subject to be shown in the UI.
# ==============================================================================



AbstractLockObjectsAction.0=Error
AbstractLockObjectsAction.1=Cannot obtain locks
AsyncContentProvider_0=Pending...
BranchSelectionDialog.1=Head
BranchSelectionDialog.2=Base
BranchSelectionDialog.3=Time
BulkAddDialog.0=Bulk Add
BulkAddDialog.1=Select a child type and number of child instances
BulkAddDialog.2=Type:
BulkAddDialog.3=Instances:
BulkAddDialog.4=Select a feature
BulkAddDialog.5=Enter a valid number of instances (>0)
CDOActionBarContributor_0=Lock
CDOEditor.17=Transaction error
CDOEditor.18=A commit error occurred. See error log for details.
CDOEditor.19=The server rejected the commit because of a critical validation failure:\n{0}
CDOEditor.1=Open Target Time Slider
CDOEditor.23=New Root
CDOEditor.26=Bulk Add
CDOEditor.27=Calculating...
CDOEditor.28=Can't find {0} in CDOPackageRegistry
CDOEditorInputImpl.0=View closed
CDOInteractiveExceptionHandler.0=CDO Session Protocol Problem
CDOInteractiveExceptionHandler.1=attempt
CDOInteractiveExceptionHandler.2=attempts
CDOInteractiveExceptionHandler.3=A protocol problem occurred in {0} after {1} {2}.\n\nRetry or abort the operation?
CDOInteractiveExceptionHandler.4=Retry
CDOInteractiveExceptionHandler.5=Abort
CDOItemProvider.8=Register Generated Package
CDOPreferencePage.0=Session Defaults
CDOPreferencePage.1=Repository name:
CDOPreferencePage.2=User name:
CDOPreferencePage.3=Connector description:
CDOPreferencePage.4=Reference chunk size:
CDOPreferencePage.5=View Defaults
CDOPreferencePage.6=Preload chunk size:
CDOPreferencePage.7=EMF invalidation notifications:
CDORemoteSessionsView_0=Message from {0}
CDORemoteSessionsView_1=Message to {0}
CDORemoteSessionsView_2=Message:
CDOStateFilter.0=conflict
CDOStateFilter.1=transient
CDOStateFilter.2=new
CDOStateFilter.3=clean
CDOStateFilter.4=dirty
CDOStateFilter.5=Specify a state to filter: {0} | {1} | {2} | {3} | {4}
CDOStateFilter.6=CDOState filter
CDOUIPreferencePage.0=Label decoration:
CDOUIPreferencePage.1=Enable CDOEditor Auto-Reload
CDOUIPreferencePage.2=Available tags:
CDOWatchListView.0=Object
CDOWatchListView.10=Reset All Changes
CDOWatchListView.11=Reset all change notifications of the subscriptions in the view
CDOWatchListView.12=CREATE
CDOWatchListView.1=Resource
CDOWatchListView.25=SET
CDOWatchListView.26=UNSET
CDOWatchListView.27=ADD
CDOWatchListView.28=REMOVE
CDOWatchListView.29=ADD MANY
CDOWatchListView.2=Time
CDOWatchListView.30=REMOVE MANY
CDOWatchListView.31=MOVE
CDOWatchListView.32=REMOVING ADAPTER
CDOWatchListView.33=RESOLVE
CDOWatchListView.3=Changes
CDOWatchListView.4=Remove
CDOWatchListView.5=Remove selected subscriptions
CDOWatchListView.6=Remove All
CDOWatchListView.7=Remove all subscriptions
CDOWatchListView.8=Reset Changes
CDOWatchListView.9=Reset all change notifications from the selected subscriptions
ChangePassiveUpdateAction.1=Passive Updates
ChangePasswordAction_0=Change Password...
ChangePasswordAction_1=Change the connected user's password
CloseSessionAction.0=Close
CloseSessionAction.1=Close the CDO session
CloseSessionAction.2=You have uncommitted changes. Do you want to discard them?
CloseViewAction.0=Close
CloseViewAction.1=Close the CDO view
CloseViewAction.2=You have uncommitted changes. Do you want to discard them?
CommitTransactionAction.0=Commit
CommitTransactionAction.1=Commit this transaction
MergeConflictsAction.0=Merge Conflicts
MergeConflictsAction.1=Automatically merge conflicts when they occur
CreateBranchAction.0=Create Branch
CreateBranchAction.1=Create a new branch
DisableViewDurabilityAction.0=Make Not Durable
DisableViewDurabilityAction.1=Make this view not durable
EnableViewDurabilityAction.0=Make Durable
EnableViewDurabilityAction.1=Make this view durable
ExportResourceAction.1=Export Resource
ExportResourceAction.2=Export a CDO resource
ExportResourceAction.3=A single URI must be entered\!
ExportResourceActionDelegate.0=Couldn't Export CDOResource
ExportResourceDialog.1=Source path:
ExportSelectedResourceAction_0=Export Resource
ExportSelectedResourceAction_1=Export CDOResource
ExportSelectedResourceAction_2=No URI has been introduced
ImportResourceAction.1=Import Resource
ImportResourceAction.2=Import a CDO resource
ImportResourceAction.3=A single URI must be entered\!
ImportResourceActionDelegate.0=Couldn't Import CDOResource
ImportResourceDialog.1=Target path:
ImportResourceToFolderAction_0=Import Resource
ImportResourceToFolderAction_1=No URI has been introduced
ImportRootsAction.1=Import Roots
LoadResourceAction.0=Load Resource
LoadResourceAction.1=Load a CDO resource
LoadResourceAction.2=Error while opening CDOEditor
LoadResourceAction.3=The specified resource {0} does not exist
LoadResourceAction.4=Enter resource path:
ManagePackagesAction.0=Package Registry
ManagePackagesAction.1=Browse and register model packages
NewBinaryResourceAction_0=Creating CDO binary resource
NewResourceAction_0=Creating CDO resource
NewResourceFolderAction_0=Creating CDO folder
NewResourceNodeAction.2=Name must not contain path separators
NewResourceNodeAction.3=Folder name cannot be empty
NewResourceNodeAction.4=Resource name cannot be empty
NewResourceNodeAction.5=There exists a folder with name
NewResourceNodeAction.6=There exists a resource with name
NewResourceNodeAction.8=Please enter the name:
NewResourceNodeAction_0=Enter the name
NewTextResourceAction_0=Creating CDO text resource
OpenAuditAction.0=Open Audit View...
OpenAuditAction.1=Open a new audit view
OpenAuditDialog.0=Open Audit View
OpenAuditDialog.1=Target Time:
OpenDurableViewAction.0=Open Durable View
OpenDurableViewAction.1=Open an existing durable view
OpenDurableViewDialog.0=Open Durable View
OpenDurableViewDialog.1=Area ID:
OpenFileEditorAction.0=Open File Editor
OpenFileEditorAction.1=Open a file editor for this resource
OpenResourceEditorAction.0=Open Editor
OpenResourceEditorAction.1=Open a model editor for this resource
OpenSessionAction.0=Open a new session
OpenSessionAction.3=Unable to open a session on the specified repository.\n\n
OpenSessionDialog.0=Open Session
OpenSessionDialog.1=Enter the server description and repository name.
OpenTransactionAction.0=Open Transaction
OpenTransactionAction.1=Open a new read-write view
OpenViewAction.0=Open Read-Only View
OpenViewAction.1=Open a new read-only view
OpenViewEditorAction.0=Open Editor
OpenViewEditorAction.1=Open an editor on the resource set of this view
PackageRegistryDialog.0=CDO Package Registry
PackageRegistryDialog.1=Package
PackageRegistryDialog.2=State
PackageRegistryDialog.3=Type
PackageRegistryDialog.4=Original
PackageRegistryDialog.5=Generated...
PackageRegistryDialog.7=Filesystem...
PackageRegistryDialog.8=?
ReadLockObjectsAction.1=Read Lock
RegisterFilesystemPackagesAction.0=Register Filesystem Packages
RegisterFilesystemPackagesAction.1=Register dynamic packages from the filesystem
RegisterFilesystemPackagesAction.2=Ecore models (*.ecore)
RegisterFilesystemPackagesAction.3=XMI files (*.xmi)
RegisterFilesystemPackagesAction.4=XML files (*.xml)
RegisterFilesystemPackagesAction.5=All files (*.*)
RegisterGeneratedPackagesAction.0=Register Generated Packages
RegisterGeneratedPackagesAction.1=Register native and legacy packages
RegisterGeneratedPackagesAction.2=Generated Packages
RegisterGeneratedPackagesAction.3=Select one or more packages for registration with the CDO package registry
RegisterGeneratedPackagesAction.5=Package {0} not found.
RegisterPackagesAction.0=Failed to register package {0}
RegisterPackagesAction.1=\ {0} package has not been registered due to errors.\nSee the log for details.
RegisterPackagesAction.2=\ {0} packages have not been registered due to errors.\nSee the log for details.
RegisterSinglePackageAction.0=Register the package
RemoveResourceAction_1=Delete Resource
RemoveResourceAction_2=Are you sure you want to delete the selected {0} item(s)?
RemoveResourceAction_3=Deleting CDOResource(s)
RemoveResourceAction_4={0}: Cannot perform commit
RenameResourceActionDelegate.0=Rename
RollbackTransactionAction.0=Rollback
RollbackTransactionAction.1=Rollback this transaction
RollbackTransactionDialog.0=This transaction contains:
RollbackTransactionDialog.11=Are you sure to rollback this transaction?
RollbackTransactionDialog.4=new object
RollbackTransactionDialog.5=new objects
RollbackTransactionDialog.6=dirty object
RollbackTransactionDialog.7=dirty objects
RollbackTransactionDialog.8=detached object
RollbackTransactionDialog.9=detached objects
SessionComposite.0=Server Description:
SessionComposite.1=for example 'tcp://dev.eclipse.org:2036'
SessionComposite.2=Repository Name:
SessionComposite.3=Automatic Package Registry
SwitchTargetAction.0=Switch Target
SwitchTargetAction.1=Switch the target branch point
MergeBranchPointAction.0=Merge
MergeBranchPointAction.1=Merge changes from a different branch point
Title.Binary=New Binary File
Title.Folder=New Folder
Title.Model=New Model Resource
Title.Text=New Text File
Tooltip.Binary=Create a new binary resource
Tooltip.Folder=Create a new resource folder
Tooltip.Model=Create a new model resource
Tooltip.Text=Create a new text resource
TransactionalBackgroundAction_0=Object is not transactional: {0}
TransactionalBackgroundAction_1=Commit Transaction
WriteLockObjectsAction.1=Write Lock
