# ==============================================================================
# Copyright (c) 2009-2013, 2015, 2016, 2020 Eike Stepper (Loehne, 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
CDOEditor.29=Other
CDOEditorInputImpl.0=View closed
CDOEditorInputImpl.1=View opening
CDOCommitCommentPrompter.0=Enter Commit Comment
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
AutoReleaseLockExemptionAction.1=Auto Release Lock Exemption
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
DeleteResourceAction_1=Delete...
DeleteResourceAction_2=Are you sure you want to delete the selected {0} resource node(s)?
DeleteResourceAction_3=Deleting resource node(s)
DeleteResourceAction_4={0}: Cannot perform commit
DeleteResourceAction_5=Delete the selected folders and resources
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
