###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
details=Press the details button for more information.
simpleInternal=Internal error
internal=An internal error has occurred, consult the error log for details.
yes=Yes
no=No
information=Server Information
exception=Server Exception
confirmOverwriteTitle=Confirm Overwrite Project
confirmOverwrite=The project already exists in the workspace. Its contents will be overwritten.
question=Question
localChanges=You have local changes which you are about to overwrite. Do you wish to continue?
error=Error
cvs=CVS
notAvailable=Not Available
buildError=A build error occurred after the CVS operation completed.
ok=OK
separator=/

nameAndRevision={0} {1}
currentRevision=*{0}

AddAction.addFailed=Error occurred during Add
AddAction.adding=Adding...
AddAction.addIgnoredTitle=Add Ignored Resource?
AddAction.addIgnoredQuestion=You have explicitly asked to version control one or more resources that otherwise would have been ignored. Continue?

AddToVersionControlDialog.title=Add to CVS Version Control
AddToVersionControlDialog.thereIsAnUnaddedResource=There is {0} resource that is not under CVS version control. Do you want to add it?
AddToVersionControlDialog.thereAreUnaddedResources=There are {0} resources that are not under CVS version control. Do you want to add them?

AddToWorkspaceAction.checkoutFailed=Problems encountered performing checkout
AddToWorkspaceAction.thisResourceExists=The resource ''{0}'' already exists in the workspace and will be deleted. Proceed?
AddToWorkspaceAction.thisExternalFileExists=The folder ''{0}'' exists in the local file system and will be deleted. Proceed?
AddToWorkspaceAction.confirmOverwrite=Confirm Overwrite
CheckoutAction.overlappingModuleExpansions=You have attempted to check out multiple remote modules that expand to the same local resource ''{0}''.

AutoDefineTagsAction.defineTags = Auto-discover tags

AvoidableMessageDialog.dontShowAgain=Don't show this again

BranchWizard.title=Create a new CVS Branch
BranchWizard.errorBranching=Error Branching Resources
BranchWizardPage.pageDescription=Creates a new branch and a starting point version.
BranchWizardPage.pageDescriptionVersion=Creates a new branch based on the version in the workspace.
BranchWizardPage.specifyVersion=The version will provide a starting point for merging the branch back to the source branch.
BranchWizardPage.branchName=Branch Name:
BranchWizardPage.versionName=Version Name:
BranchWizardPage.startWorking=Start working in the branch
BranchWizardPage.versionPrefix=Root_
BranchWizard.versionNameWarning=Version name: {0}
BranchWizard.branchNameWarning=Branch name: {0}
BranchWizard.branchAndVersionMustBeDifferent=The branch name and version name must be different.
BranchWizard.branchNameAlreadyExists=Branch name already exists.
BranchWizard.versionNameAlreadyExists=Version name already exists.
BranchWizardPage.existingVersionsAndBranches=Existing Versions and Branches:

ConsolePreferencePage.consoleColorSettings=Console text color settings.
ConsolePreferencePage.commandColor=Command &Line:
ConsolePreferencePage.messageColor=&Message:
ConsolePreferencePage.errorColor=E&rror:
ConsolePreferencePage.font=Console font setting:

CVSAction.errorTitle=Errors occurred
CVSAction.warningTitle=Warnings occurred
CVSAction.multipleProblemsMessage=Multiple problems occurred:
CVSAction.mixingTagsTitle=Confirm Mixing Tags
CVSAction.mixingTags=You are mixing tags within a project. Beware that synchronization uses the tag information associated with each resource to determine the remote resource with which the local resource is compared. \n\nThis means that the part(s) of your project that you are replacing with another tag will be synchronized with the tag ''{0}'' while other resources in the project will be synchronized with another tag. \n\nDo you wish to continue?

CVSAnnotateView.showFileAnnotation=CVS Annotate - {0}
CVSAnnotateView.viewInstructions=This view shows annotations for a file in CVS.  Select a file and then choose \"Team->Show Annotation\" from the context menu.

CVSCatchupReleaseViewer.commit=&Commit...
CVSCatchupReleaseViewer.update=&Update from Repository
CVSCatchupReleaseViewer.forceCommit=Override and Co&mmit...
CVSCatchupReleaseViewer.forceUpdate=Override and U&pdate
CVSCatchupReleaseViewer.ignore=A&dd to .cvsignore
CVSCatchupReleaseViewer.mergeUpdate=&Merge Changes into Local Copy
CVSCatchupReleaseViewer.commonFile=Common file: {0}
CVSCatchupReleaseViewer.commonFileRevision=Common file: {0} {1}
CVSCatchupReleaseViewer.noCommonFile=No common file
CVSCatchupReleaseViewer.noRepositoryFile=No repository file
CVSCatchupReleaseViewer.repositoryFile=Repository file: {0}
CVSCatchupReleaseViewer.repositoryFileRevision=Repository file: {0} {1} [{2}]
CVSCatchupReleaseViewer.workspaceFile=Workspace file: {0}
CVSCatchupReleaseViewer.showInHistory=Show in &Resource History
CVSCatchupReleaseViewer.fileDecoration={0} ({1})
CVSCatchupReleaseViewer.folderDecoration={0} {1}
CVSCatchupReleaseViewer.confirmMerge=Mark as Mer&ged
CVSCatchupReleaseViewer.addAction=&Add to Version Control
CVSCatchupReleaseViewer.labelWithSyncKind={0} {1}

CVSCompareEditorInput.branchLabel=<branch-{0}>
CVSCompareEditorInput.headLabel=<HEAD>
CVSCompareEditorInput.comparing=Comparing... 
CVSCompareEditorInput.different=Cannot compare resources of different kind.
CVSCompareEditorInput.inBranch={0} in {1}
CVSCompareEditorInput.inHead={0} in HEAD
CVSCompareEditorInput.repository=Repository: {0} {1}
CVSCompareEditorInput.titleAncestor=Compare {0} {1}-{2} and {3}
CVSCompareEditorInput.titleNoAncestor=Compare {0} {1} and {2}
CVSCompareEditorInput.titleNoAncestorDifferent=Compare {0} {1} and {2} {3}
CVSCompareEditorInput.workspace=Workspace: {0}
CVSCompareEditorInput.workspaceLabel=<workspace>
CVSCompareEditorInput.noWorkspaceFile=No workspace file
CVSCompareEditorInput.noRepositoryFile=No repository file

CVSCompareRevisionsInput.addToWorkspace=Get
CVSCompareRevisionsInput.compareResourceAndVersions=Compare {0} <workspace> and versions
CVSCompareRevisionsInput.errorReplacingTitle=Unable to Replace
CVSCompareRevisionsInput.errorReplacingMessage=Resource(s) could not be loaded.  A communication error may have occurred, or \
    the resource(s) may not exist on the server, or you may \
	not have permission to access them.
CVSCompareRevisionsInput.repository=Repository file: {0}
CVSCompareRevisionsInput.structureCompare=Structure Compare
CVSCompareRevisionsInput.workspace=Workspace file: {0}
CVSCompareRevisionsInput.truncate={0}[...]

CVSDecorator.projectDecoration={0} [{1}] 
CVSDecorator.projectDecorationWithTag={0} [{1} {2}]
CVSDecorator.fileDecorationWithTag={0} [{1}:{2}] 
CVSDecorator.fileDecorationNoTag={0} [{1}]
CVSDecorator.folderDecoration={0} [{1}]

CVSDecoratorPreferencesPage.description=CVS Decorator settings:
CVSDecoratorPreferencesPage.iconDescription=Choose which CVS resource states should be indicated using an icon decorator:
CVSDecoratorPreferencesPage.generalDescription=Set general properties of CVS decorators:
CVSDecoratorPreferencesPage.generalTabFolder=&General
CVSDecoratorPreferencesPage.newResources=Indicate is &new resource
CVSDecoratorPreferencesPage.synchronizeTabFolder=S&ynchronize View
CVSDecoratorPreferencesPage.synchronizeDescription=Set the properties of CVS decorators for the Synchronize view:
CVSDecoratorPreferencesPage.showSyncInfoInLabel=Show all synchronization information in a resource's text label

CVSFilePropertiesPage.ignored=The file is ignored by CVS.
CVSFilePropertiesPage.notManaged=The file is not managed by CVS.
CVSFilePropertiesPage.isAdded=This file has been added to CVS control but has not been committed
CVSFilePropertiesPage.baseRevision=Base revision:
CVSFilePropertiesPage.baseTimestamp=Base timestamp:
CVSFilePropertiesPage.dirty=Dirty:
CVSFilePropertiesPage.modified=Modified:
CVSFilePropertiesPage.keywordMode=Keyword mode:
CVSFilePropertiesPage.tag=Tag:
CVSFilePropertiesPage.none=HEAD
CVSFilePropertiesPage.version={0} (Version)
CVSFilePropertiesPage.branch={0} (Branch)
CVSFilePropertiesPage.date={0} (Date)
CVSFilePropertiesPage.error=An error occurred while creating this page.
CVSFilePropertiesPage.permissions=Permissions:
CVSFilePropertiesPage.notAvailable=Not Available

CVSFolderPropertiesPage.ignored=The folder is ignored by CVS.
CVSFolderPropertiesPage.notManaged=The folder is not managed by CVS.
CVSFolderPropertiesPage.notCVSFolder=This folder has lost its CVS sharing information.
CVSFolderPropertiesPage.root=Repository root:
CVSFolderPropertiesPage.repository=Repository path:
CVSFolderPropertiesPage.static=Static:
CVSFolderPropertiesPage.disconnect=&Disconnect...
CVSFolderPropertiesPage.disconnectTitle=Disconnect folder?
CVSFolderPropertiesPage.disconnectQuestion=Disconnecting the folder from CVS control will delete the CVS synchronization information for the folder. Are you sure you want to disconnect?

CVSLocalCompareEditorInput.title=CVS Compare [{0}]
				
CVSOperationCancelledException.operationCancelled=Operation Cancelled

CVSPropertiesPage.connectionType=&Connection type:
CVSPropertiesPage.user=&User:
CVSPropertiesPage.password=&Password:
CVSPropertiesPage.host=Host:
CVSPropertiesPage.port=Port:
CVSPropertiesPage.path=Repository path:
CVSPropertiesPage.module=Module:
CVSPropertiesPage.defaultPort=Default
CVSPropertiesPage.tag=Tag:
CVSPropertiesPage.update=Change &Tag...
CVSPropertiesPage.virtualModule=<no corresponding remote folder>

CVSPreferencePage.description=General CVS settings:
CVSPreferencePage.debugProtocol=&Display detailed protocol output to stdout (for debugging purposes)
CVSPreferencePage.pruneEmptyDirectories=&Prune empty directories
CVSPreferencePage.timeoutValue=&Communication timeout (in seconds):
CVSPreferencePage.quietness=&Quietness level:
CVSPreferencePage.notquiet=Verbose
CVSPreferencePage.somewhatquiet=Somewhat quiet
CVSPreferencePage.reallyquiet=Very quiet
CVSPreferencePage.silentWarningTitle="Very Quiet" mode is dangerous
CVSPreferencePage.silentWarningMessage= In "Very Quiet" mode, some cvs servers may not communicate important information about errors that have occurred. You may want to consider using "Somewhat quiet" mode instead.
CVSPreferencePage.considerContentsInCompare=Con&sider file contents in comparisons
CVSPreferencePage.showAddRemoveMarkers=Show deleted file &markers
CVSPreferencePage.replaceUnmanaged=&Delete unmanaged resources on replace
CVSPreferencePage.defaultTextKSubst=Default &keyword substitution:
CVSPreferencePage.compressionLevel=Compression &level:
CVSPreferencePage.level0=0 (disabled)
CVSPreferencePage.level1=1 (lowest compression)
CVSPreferencePage.level2=2
CVSPreferencePage.level3=3
CVSPreferencePage.level4=4
CVSPreferencePage.level5=5
CVSPreferencePage.level6=6
CVSPreferencePage.level7=7
CVSPreferencePage.level8=8
CVSPreferencePage.level9=9 (highest compression)
CVSPreferencePage.Save_dirty_editors_before_CVS_operations_1=Save dirty editors before CVS operations
CVSPreferencePage.&Never_2=&Never
CVSPreferencePage.&Prompt_3=P&rompt
CVSPreferencePage.Auto-&save_4=&Auto-save
CVSPreferencePage.repositoriesAreBinary=&Treat all new files as binary
CVSPreferencePage.determineVersionEnabled=&Validate server version compatibility on first connection
CVSPreferencePage.confirmMoveTag=Confirm &move tag on tag operation

CVSRemoteFilePropertySource.name=Name
CVSRemoteFilePropertySource.revision=Revision
CVSRemoteFilePropertySource.date=Date
CVSRemoteFilePropertySource.author=Author
CVSRemoteFilePropertySource.comment=Comment
CVSRemoteFilePropertySource.tag=Tag

CVSRemoteFolderPropertySource.name=Name
CVSRemoteFolderPropertySource.tag=Tag
CVSRemoteFolderPropertySource.none=(none)

CVSRepositoryLocationPropertySource.default=Default
CVSRepositoryLocationPropertySource.host=Host
CVSRepositoryLocationPropertySource.user=User
CVSRepositoryLocationPropertySource.port=Port
CVSRepositoryLocationPropertySource.root=Root
CVSRepositoryLocationPropertySource.method=Connection Method

CVSSyncCompareInput.confirmMergeMessageTitle=Information
CVSSyncCompareInput.confirmMergeMessage=Your changes have been saved. When you are finished, \
					select 'Mark as Merged' to make this file an outgoing change. 
CVSSyncCompareInput.projectDeleted=Project ''{0}'' has been deleted locally and cannot be synchronized.
CVSSyncCompareInput.filteringOutgoingChanges=Accumulating resources with outgoing changes

CVSSyncSet.conflicts={0} conflicts, 
CVSSyncSet.incomings={0} incoming change(s), 
CVSSyncSet.noConflicts=No conflicts, 
CVSSyncSet.noIncomings=no incoming changes, 
CVSSyncSet.noOutgoings=no outgoing changes, 
CVSSyncSet.outgoings={0} outgoing change(s), 
CVSSyncSet.noNew=no new resources.
CVSSyncSet.new={0} new resource(s).

CVSUIPlugin.refreshTitle=Refresh Resource?
CVSUIPlugin.refreshQuestion={0} Would you like to refresh resource ''{1}''?
CVSUIPlugin.refreshMultipleQuestion={0} Would you like to refresh the selected resources?

CVSAction.disabledTitle=Information
CVSAction.disabledMessage=The chosen operation is not enabled.
CVSAction.refreshTitle=Refresh Project?
CVSAction.refreshQuestion={0} Would you like to refresh project ''{1}''?
CVSAction.refreshMultipleQuestion={0} Would you like to refresh the projects of the selected resources?

CommitAction.commitFailed=Problems encountered performing commit

CommitSyncAction.questionRelease=You have changes that conflict with the server. Release those changes?
CommitSyncAction.titleRelease=Confirm Overwrite
CommitSyncAction.releaseAll=Release all changes, overriding any conflicting changes on the server.
CommitSyncAction.releasePart=Only release the changes that don't conflict with changes on the server.
CommitSyncAction.cancelRelease=Cancel the release operation.
CommitSyncAction.errorCommitting=An error occurred while committing changes.

CompareWithRemoteAction.compare=Error Comparing with Latest
CompareWithRemoteAction.noRemote=No Remote Resource
CompareWithRemoteAction.noRemoteLong=The selected resource has no remote resource to compare with.
CompareWithRemoteAction.fetching=Comparing with latest from repository...

CompareWithRevisionAction.compare=Error Comparing with Revision
CompareWithRevisionAction.noRevisions=No Revisions
CompareWithRevisionAction.noRevisionsLong=The selected resource has no revisions to compare with.
CompareWithRevisionAction.fetching=Fetching revisions from repository...

CompareWithTagAction.message=Compare with Branch or Version
CompareWithTagAction.replace=Error Comparing With Branch or Version
CompareWithTagAction.noRemote=No Remote Resource
CompareWithTagAction.noRemoteLong=The selected tag has no remote resource to compare with.
CompareWithTagAction.fetching=Fetching resources with tag {0}...

CompareEditorInput.fileProgress=Comparing CVS file: {0}

ConfigurationWizardAutoconnectPage.description=Your project already has CVS/ directories. It was probably previously shared, or checked out using another tool. It will be automatically shared using the following information.
ConfigurationWizardAutoconnectPage.user=User:
ConfigurationWizardAutoconnectPage.host=Host:
ConfigurationWizardAutoconnectPage.port=Port:
ConfigurationWizardAutoconnectPage.default=Default
ConfigurationWizardAutoconnectPage.connectionType=Connection type:
ConfigurationWizardAutoconnectPage.repositoryPath=Repository path:
ConfigurationWizardAutoconnectPage.module=Module:
ConfigurationWizardAutoconnectPage.validate=&Validate Connection on Finish
ConfigurationWizardAutoconnectPage.noSyncInfo=Could not get folder information
ConfigurationWizardAutoconnectPage.noCVSDirectory=Could not find CVS/ directory

RepositorySelectionPage.description=This wizard will help you to share your files with the CVS repository for the first time. Your project will automatically be imported into the CVS repository, and the Synchronize view will open to allow you to commit your resources.
RepositorySelectionPage.useExisting=&Use existing repository location:
RepositorySelectionPage.useNew=&Create a new repository location

ConfigurationWizardMainPage.connection=&Connection type:
ConfigurationWizardMainPage.userName=&User:
ConfigurationWizardMainPage.password=&Password:
ConfigurationWizardMainPage.host=&Host:
ConfigurationWizardMainPage.useDefaultPort=Use &Default Port
ConfigurationWizardMainPage.usePort=Use Por&t:
ConfigurationWizardMainPage.repositoryPath=&Repository path:
ConfigurationWizardMainPage.invalidUserName=Invalid User Name
ConfigurationWizardMainPage.invalidHostName=Invalid Host Name
ConfigurationWizardMainPage.invalidPort=Invalid Port
ConfigurationWizardMainPage.invalidPathWithSpaces=The repository path cannot have segments with leading or trailing spaces
ConfigurationWizardMainPage.invalidPathWithSlashes=The repository path cannot contain a double slash (//)
ConfigurationWizardMainPage.useNTFormat=Use NT path names for specifying CVSNT repository paths (e.g. C:\\cvs\\root)

Console.copy=Copy
Console.selectAll=Select All
Console.clearOutput=Clear Output
Console.resultServerError={0} {1}
Console.resultWarnings={0} {1}
Console.resultException=failed due to an internal error {0}
Console.resultAborted=operation canceled {0}
Console.resultOk=ok {0}
Console.resultTimeFormat='(took 'm:ss.SSS')'
Console.couldNotFormatTime=An error occurred formatting the output time for the CVS console.
Console.preExecutionDelimiter=***
Console.postExecutionDelimiter=***
Console.info=Info: {0}
Console.warning=Warning: {0}
Console.error=Error: {0}

AddToBranchAction.enterTag=Enter Branch Tag
AddToBranchAction.enterTagLong=Enter the name of the branch:

DiffAction.diff=Diff

FixTypeAction.fix=Fix Types

GenerateCVSDiff.title=Create Patch
GenerateCVSDiff.pageTitle=Run and save CVS diff results in a file
GenerateCVSDiff.pageDescription=The results of the CVS diff command can be used as an input file for the Apply Patch wizard.
GenerateCVSDiff.overwriteTitle=Confirm Overwrite
GenerateCVSDiff.overwriteMsg=A file with that name already exists. Overwrite?
GenerateCVSDiff.error=Error running the CVS diff command
GenerateCVSDiff.working=Running CVS diff...
GenerateCVSDiff.noDiffsFoundMsg=No differences found.
GenerateCVSDiff.noDiffsFoundTitle=CVS diff

GetSyncAction.questionCatchup=You have local changes which you are about to overwrite. Should the conflicting changes be added?
GetSyncAction.titleCatchup=Catch up Over Conflicts?
GetSyncAction.catchupAll=Catch up to all incoming changes, overriding any conflicting local changes.
GetSyncAction.catchupPart=Only catch up to the changes that don't conflict with local changes.
GetSyncAction.cancelCatchup=Cancel the catch up operation.
UpdateSyncAction.errorUpdating=An error occurred while updating changes.

HistoryFilterDialog.title = Filter Resource History
HistoryFilterDialog.showMatching = Show entries matching:
HistoryFilterDialog.matchingAny = a&ny of the provided criteria
HistoryFilterDialog.matchingAll = a&ll of the provided criteria
HistoryFilterDialog.author = &Author:
HistoryFilterDialog.comment = &Comment containing:
HistoryFilterDialog.fromDate = &From date (M/D/Y) : 
HistoryFilterDialog.toDate = &To date (M/D/Y) : 

HistoryView.getAnnotateAction=Show &Annotation
HistoryView.getContentsAction=&Get Contents
HistoryView.getRevisionAction=Get Sticky &Revision
HistoryView.tagWithExistingAction=&Tag with Existing...
HistoryView.copy=&Copy
HistoryView.revision=Revision
HistoryView.tags=Tags
HistoryView.date=Date
HistoryView.author=Author
HistoryView.comment=Comment
HistoryView.refreshLabel=&Refresh View
HistoryView.refresh=Refresh View
HistoryView.selectAll=Select &All
HistoryView.showComment=Show Comment Viewer
HistoryView.showTags=Show Tag Viewer
HistoryView.title=CVS Resource History
HistoryView.titleWithArgument=CVS Resource History - {0}
HistoryView.overwriteTitle=Overwrite local changes?
HistoryView.overwriteMsg=You have local changes. Do you want to overwrite them?

IgnoreAction.ignore=Error Ignoring Resource

MergeAction.saveChangesTitle=Save Changes
MergeAction.saveChanges=You have unsaved changes that will be saved before the action is performed.

MergeEditorInput.title=Merge {0} with {1}

MergeWizardEndPage.branches=Branches
MergeWizardEndPage.description=This is the version or branch that contains the work you would like to merge.
MergeWizardEndPage.duplicateTagSelected=Cannot select {0} because it has already been selected as the start tag.

MergeWizardStartPage.description=This is the version you created when you branched.

MergeWizard.title=Merge
MergeWizard.start=Select the merge start point
MergeWizard.end=Select where you want to merge the changes from
MergeWizard.preparing=Preparing merge wizard
MergeWizard.preparingStart=Fetching tags for start page
MergeWizard.preparingEnd=Fetching tags for end page

ModuleSelectionPage.moduleIsProject=Use project name as module name
ModuleSelectionPage.specifyModule=Use specified module name:

MoveTagAction.errorMessage=Error Tagging
MoveTagAction.title=Tag with Existing Tag
MoveTagAction.message=&Select the tag to be moved:

NewLocationWizard.title=Add CVS Repository
NewLocationWizard.heading=Add a new CVS Repository
NewLocationWizard.description=Add a new CVS Repository to the CVS Repositories view
NewLocationWizard.validationFailedText=Error validating location: "{0}"\n\nKeep location anyway?
NewLocationWizard.validationFailedTitle=Unable to Validate
NewLocationWizard.exception=Unable to create repository location

OpenLogEntryAction.deletedTitle=Resource is Deleted
OpenLogEntryAction.deleted=The selected revision represents a deletion. It cannot be opened.

ReleaseCommentDialog.title=Commit
ReleaseCommentDialog.choosePrevious=Choose a &previously entered comment:
ReleaseCommentDialog.enterComment=Edit the commit &comment:
ReleaseCommentDialog.unaddedResources=Checked resources will be &added to CVS version control.
ReleaseCommentDialog.selectAll=&Select All
ReleaseCommentDialog.deselectAll=D&eselect All
ReleaseCommentDialog.clearTextArea=&Reset Comment

RemoteFolderElement.nameAndTag={0} {1}
RemoteFolderElement.fetchingRemoteChildren=Fetching remote CVS children for ''{0}''...

RemoveRootAction.removeRoot=Error Discarding Location

ReplaceWithTagAction.message=Replace with Branch or Version
ReplaceWithTagAction.replace=Error Replacing With Tag
ReplaceWithTagAction.replacing=Replacing with tag {0}
ReplaceWithTagAction.mixingTags=You are mixing tags within a project.  This may cause confusion \
	when synchronizing with the repository. Synchronize uses the tag information associated with \
	each resource to determine the remote resource with which the local resource is compared. \
	For example, with version tags, the state of the tagged resources never change so you will \
	not see changes made to the resources in HEAD (or other branches). Do you wish to continue?

ReplaceWithRemoteAction.replacing=Replacing
ReplaceWithRemoteAction.problemMessage=Error Replacing With Latest From Repository

ReplaceWithAction.confirmOverwrite=Confirm Overwrite
ReplaceWithAction.localChanges={0} has local changes which you are about to overwrite. Do you wish to overwrite?
ReplaceWithAction.calculatingDirtyResources=Finding outgoing changes...

ReplaceWithLatestAction.multipleTags=&Latest from Repository
ReplaceWithLatestAction.multipleVersions=&Versions from Repository
ReplaceWithLatestAction.multipleBranches=&Latest from Branches
ReplaceWithLatestAction.singleVersion=&Version {0}
ReplaceWithLatestAction.singleBranch=&Latest from Branch {0}
ReplaceWithLatestAction.singleHEAD=&Latest from {0}

RepositoryDialog.getRepository=Select a repository
RepositoryDialog.description=Select a repository to connect your project to

RepositoryManager.getting=Getting
RepositoryManager.committing=Committing
RepositoryManager.updating=Updating
RepositoryManager.deleting=Deleting
RepositoryManager.adding=Adding
RepositoryManager.rename=An IO Exception occurred while renaming the state file
RepositoryManager.save=An IO Exception occurred while saving the state file
RepositoryManager.ioException=An IO Exception occurred while reading the state file
RepositoryManager.parsingProblem=An error occurred parsing file ''{0}''.
RepositoryManager.fetchingRemoteFolders=Fetching remote CVS folders for ''{0}''...

RepositoriesView.refresh=&Refresh View
RepositoriesView.refreshTooltip=Refresh View
RepositoriesView.new=&Repository Location...
RepositoriesView.newSubmenu=&New
RepositoriesView.newAnonCVS=&Anonymous Repository Location to dev.eclipse.org...
RepositoriesView.newWorkingSet=Select Working Set...
RepositoriesView.deselectWorkingSet=Deselect Working Set
RepositoriesView.editWorkingSet=Edit Active Working Set...
RepositoriesView.workingSetMenuItem={0} {1}
RepositoriesView.collapseAll=Collapse All
RepositoriesView.collapseAllTooltip=Collapse All
RepositoriesView.NItemsSelected={0} items selected
RepositoriesView.OneItemSelected=1 item selected
RepositoriesView.ResourceInRepository={0} in {1}
RepositoriesView.CannotGetRevision=Cannot get revision
RemoteViewPart.workingSetToolTip=Working Set: {0}

ResourcePropertiesPage.status=Status
ResourcePropertiesPage.notManaged=Not managed by CVS
ResourcePropertiesPage.versioned=versioned
ResourcePropertiesPage.notVersioned=not versioned
ResourcePropertiesPage.state=State
ResourcePropertiesPage.checkedOut=Checked Out
ResourcePropertiesPage.checkedIn=Checked In
#ResourcePropertiesPage.baseRevision=Base Revision
#ResourcePropertiesPage.none=none
ResourcePropertiesPage.error=Error

KSubstWizard.title=Set Keyword Substitution
KSubstWizard.working=Setting keyword substitution mode...
KSubstWizard.problemsMessage=Problems encountered setting keyword substitution
KSubstWizard.errorTitle=Errors Occurred
KSubstWizard.warningTitle=Warnings occurred

KSubstWizardSharedFilesPage.pageTitle=Include versioned files
KSubstWizardSharedFilesPage.pageDescription=\
  Choose to include or exclude files that are already in the repository
KSubstWizardSharedFilesPage.contents=\
  Since the keyword substitution mode attribute is not version controlled, the \
  change will be reflected immediately on all branches and in all revisions of \
  any affected files that are already shared in the repository.  You should inform \
  all developers that they must delete and check out fresh copies of the affected \
  files before committing new changes to the repository.  You may also experience \
  side-effects working with earlier revisions of these files.
KSubstWizardSharedFilesPage.includeSharedFiles=&Include files that are already shared in the repository.
KSubstWizardSharedFilesPage.sharedFilesViewer.title=&The following files were selected and are already shared in the repository:

KSubstWizardDirtyFilesPage.pageTitle=Include files with outgoing changes
KSubstWizardDirtyFilesPage.pageDescription=\
  Choose to include or exclude files with outgoing changes
KSubstWizardDirtyFilesPage.contents=\
  This operation may commit changes to files without first providing a chance to resolve \
  conflicts.
KSubstWizardDirtyFilesPage.includeDirtyFiles=&Include files that have outgoing changes.
KSubstWizardDirtyFilesPage.dirtyFilesViewer.title=&The following files were selected and have outgoing changes.

KSubstWizardSelectionPage.pageTitle=Select Keyword Substitution Mode
KSubstWizardSelectionPage.pageDescription=\
  Choose the desired keyword substitution mode for the selected files.
KSubstWizardSelectionPage.automaticButton=&Automatic
KSubstWizardSelectionPage.automaticLabel=\
  Automatically chooses ''{0}'' or ''{1}'' \
  for each file according to the Team file extension preferences.
KSubstWizardSelectionPage.binaryButton=&Binary (-kb)
KSubstWizardSelectionPage.binaryLabel=\
  Binary files are stored in the repository without alteration.\n\
  CVS does not directly support conflict resolution for binary files.
KSubstWizardSelectionPage.textButton=A&SCII without keyword substitution (-ko)
KSubstWizardSelectionPage.textLabel=\
  End of lines are replaced with the appropriate convention for the client system.\n\
  CVS supports conflict resolution and differencing of ASCII files with single line granularity.
KSubstWizardSelectionPage.textWithSubstitutionsButton=ASCII with &keyword substitution
KSubstWizardSelectionPage.textWithSubstitutionsLabel=\
  End of lines are replaced with the appropriate convention for the client system.\n\
  ASCII files may contain keywords that are expanded by the CVS server during file transfers.\n\
  Please consult the CVS documentation for a description of the various supported keywords and modes.

KSubstWizardCommitCommentPage.pageTitle=Enter Commit Comment
KSubstWizardCommitCommentPage.pageDescription=\
  Enter the commit comment to be used for the selected files when they are committed.

KSubstWizardSummaryPage.pageTitle=Summary
KSubstWizardSummaryPage.pageDescription=\
  Summary of keyword substitution changes to be performed.
KSubstWizardSummaryPage.contents=\
  Click on \'Finish\' to change the keyword substitution mode of the checked files indicated below.\n\
  You can change the mode on a per file basis by clicking in the corresponding cell.\n\
  Note: Files that are not checked, or that already have the indicated mode will not be affected in any way.
KSubstWizardSummaryPage.showUnaffectedFiles=&Show files that already have the requested keyword substitution mode.
KSubstWizardSummaryPage.summaryViewer.title=&The following checked files will have their keyword substitution mode changed to the indicated value.
KSubstWizardSummaryPage.summaryViewer.fileHeader=File Location
KSubstWizardSummaryPage.summaryViewer.ksubstHeader=Keyword Substitution Mode

SharingWizard.autoConnectTitle=Connect Project to Repository
SharingWizard.autoConnectOneOTitle=Connect Project from Eclipse 1.0 to Repository
SharingWizard.autoConnectTitleDescription=Project is already configured with CVS repository information.
SharingWizard.couldNotImport=Remote Project Exists
SharingWizard.couldNotImportLong=Module ''{0}'' already exists remotely. Would you like to synchronize your local project with the existing remote module?
SharingWizard.selectTagTitle=Select Tag
SharingWizard.selectTag=&Select the tag to synchronize with:
SharingWizard.description=Configure a Project to Use CVS
SharingWizard.importTitle=Share Project with CVS Repository
SharingWizard.importTitleDescription=Select an existing repository location or create a new location.
SharingWizard.title=Share Project
SharingWizard.heading=Configure a Project to Use CVS
SharingWizard.enterInformation=Enter Repository Location Information
SharingWizard.enterInformationDescription=Define the location and protocol required to connect with an existing CVS repository.
SharingWizard.enterModuleName=Enter Module Name
SharingWizard.enterModuleNameDescription=Select the name of the module in the CVS repository.
SharingWizard.readyToFinish=Ready to Share Project
SharingWizard.readyToFinishDescription=Select Finish to import the project into the CVS repository.
SharingWizard.validationFailedText={0}. Set project sharing anyway?
SharingWizard.validationFailedTitle=Unable to Validate

SharingWizardFinishPage.message=The wizard has all the information necessary to share your project with the CVS repository. When you click \"Finish\", the wizard will import your project into the repository and open the Synchronize view to allow you to commit your resources.

ShowHistoryAction.showHistory=Error occurred performing Show History
ShowHistoryAction.noHistory=No History Available
ShowHistoryAction.noHistoryLong=No resource history available for selected resources.

SyncAction.sync=Synchronize
SyncAction.workingSetName=Latest CVS Synchronize

TagAction.tagErrorTitle=Tagging Error
TagAction.tagWarningTitle=Tagging Warning
TagAction.tagProblemsMessage=Problems reported tagging the resource.
TagAction.tagProblemsMessageMultiple=Problems tagging the resources. {0} project(s) successfully tagged and {1} project(s) with errors.
TagAction.tagResources=Tag Resources
TagAction.enterTag=Please enter a version tag:
TagAction.moveTag=&Move tag if it already exists
TagAction.moveTagConfirmTitle=Confirm Move Existing Tag
TagAction.moveTagConfirmMessage=If the tag {0} is already used in this project, it will be moved to the selected revisions.  Are you sure you want to perform the tag operation?
TagAction.uncommittedChangesTitle=Confirm Uncommitted Changes
TagAction.uncommittedChanges=You are tagging ''{0}'' that has uncommitted changes. These changes are not in the repository and will not be included in the version you are creating. Do you still want to tag this resource?
TagAction.tagAlreadyExists=Version tag already exists.
TagAction.existingVersions=Existing Versions:

TagInRepositoryAction.tagProblemsMessage=Problems reported tagging the resource.
TagInRepositoryAction.tagProblemsMessageMultiple=Problems tagging the resources. {0} resource(s) successfully tagged and {1} resource(s) with errors.

UpdateAction.update=Problems encountered performing update
UpdateAction.updating=Updating...

UpdateWizard.title=Update
UpdateWizard.updatePage=Update

UpdateWizardPage.description=&Select a tag to update the project sharing to:
UpdateWizardPage.overwrite=&Overwrite local changes

UserValidationDialog.required=Password Required
UserValidationDialog.labelUser=Enter a user name and password for the following repository: {0}
UserValidationDialog.labelPassword=Enter a password for {0} in the following repository: {1}
UserValidationDialog.password=Password:
UserValidationDialog.user=User name:

VersionsElement.versions=Versions

WorkbenchUserAuthenticator.cancelled=Operation cancelled because login cancelled
WorkbenchUserAuthenticator.errorFlushing=Error occurred while flushing password for {0}
WorkbenchUserAuthenticator.errorSaving=Error occurred while saving password for {0}

Unmanage.unmanaging=Disconnecting from CVS...
Unmanage.unmanage=Disconnect from CVS
Unmanage.title=Confirm Disconnect from CVS
Unmanage.titleN=Confirm Multiple Project Disconnect from CVS
Unmanage.message=Are you sure you want to disconnect CVS from ''{0}''?
Unmanage.messageN=Are you sure you want to disconnect CVS from these {0} projects?
Unmanage.option1=Do not delete the CVS meta information (e.g. CVS sub-directories).
Unmanage.option2=Also delete the CVS meta information from the file system.
Unmanage.unmanagingError=Errors occurred while disconnecting

Unmanage.message=Are you sure you want to disconnect CVS from ''{0}''?
Unmanage.messageN=Are you sure you want to disconnect CVS from these {0} projects?

Enter_a_valid_file_name_or_select_the_clipboard_option_1=Enter a valid file name or select the clipboard option
Save_To_Clipboard_2=&Save To Clipboard
Save_In_File_System_3=Sa&ve In File System
Browse..._4=Br&owse...
Save_Patch_As_5=Save Patch As
patch.txt_6=patch.txt
Save_In_Workspace_7=Save In &Workspace
Select_a_folder_then_type_in_the_file_name__8=Select a fol&der then type in the file name:
Fi&le_name__9=Fi&le name:
Do_not_recurse_into_sub-folders_10=&Recurse into sub-folders
Do_not_include_new_files_in_patch_11=&Include new files in patch
Diff_output_format_12=Diff output format
Unified_(format_required_by_Compare_With_Patch_feature)_13=&Unified (format required by the Apply Patch wizard)
Context_14=&Context
Standard_15=&Standard
Advanced_options_19=Advanced options
Configure_the_options_used_for_the_CVS_diff_command_20=Configure the options used for the CVS diff command

After_configuring_the_project__1=After configuring the project:
Open_the_Synchronize_view_on_the_project_2=Open the Synchronize view on the project
Automatically_import_the_local_resources_into_the_repository_3=Automatically import the local resources into the repository
Run_update_4=Run update
Do_nothing_5=Do nothing
Validate_Connection_on_Finish_7=Validate Location on Finish

TagSelectionDialog.Select_a_Tag_1=&Select a branch or version:
TagSelectionDialog.recurseOption=Recurse into sub-&folders

UpdateSyncAction.Conflicting_changes_found_1=Conflicting changes found
UpdateSyncAction.You_have_local_changes_you_are_about_to_overwrite_2=You have local changes you are about to overwrite
UpdateSyncAction.Only_update_resources_that_can_be_automatically_merged_3=Only update resources that can be automatically merged
UpdateSyncAction.Update_all_resources,_overwriting_local_changes_with_remote_contents_4=Update all resources, overwriting local changes with remote contents
UpdateSyncAction.Overwrite_local_changes__5=Overwrite local changes?
UpdateSyncAction.You_have_local_changes_you_are_about_to_overwrite._Do_you_wish_to_continue__6=You have local changes you are about to overwrite. Do you wish to continue?

Example__1=Example:
Text_Labels_12=T&ext
Select_the_format_for_file,_folders,_and_project_text_labels__13=Select the format for file, folders, and project text labels:
&File_Format__14=&File Format:
Add_&Variables_15=Add &Variables...
F&older_Format__16=F&older Format:
Add_Varia&bles_17=Add Varia&bles...
&Project_Format__18=&Project Format:
Add_Variable&s_19=Add Variable&s...
&Label_decoration_for_outgoing__20=Di&rty flag:
Label_decorat&ion_for_added__22=Added f&lag:
Icon_Overlays_24=&Icons
Sho&w_outgoing_25=Indicate is out&going
Show_has_&remote_26=Indicate &has remote
S&how_is_added_27=Indi&cate is added
&Compute_deep_outgoing_state_for_folders_(disabling_this_will_improve_decorator_performance)_28=&Compute deep outgoing state for folders (disabling this will improve decorator performance)
Select_the_&variables_to_add_to_the_decoration_format__30=Select the &variables to add to the decoration format:
Add_Variables_31=Add Variables
name_of_the_resource_being_decorated_34=name of the resource being decorated
the_tag_applied_to_the_resource_(version,_branch,_or_date)_35=the tag applied to the resource (version, branch, or date)
the_repository_location__s_hostname_36=the repository location\'s hostname
the_connection_method_(e.g._pserver,_ssh)_37=the connection method (e.g. pserver, ssh)
user_name_for_the_connection_38=user name for the connection
repository_home_directory_on_server_39=repository home directory on server
root_relative_directory_40=root relative directory
flag_indicating_that_the_folder_has_a_child_resource_with_outgoing_changes_41=flag indicating that the folder has a child resource with outgoing changes
name_of_the_resource_being_decorated_42=name of the resource being decorated
the_tag_applied_to_the_resource_43=the tag applied to the resource
keyword_substitution_rule_for_the_resource_44=keyword subsitution rule for the resource
last_revision_loaded_into_workspace_45=last revision loaded into workspace
flag_indicating_that_the_file_has_outgoing_changes_46=flag indicating that the file has outgoing changes
flag_indicating_that_the_file_has_been_added_to_the_server_47=flag indicating that the file has been added to the server

ExtMethodPreferencePage_message=These variables define the external connection program to use with the \'ext\' connection method. These values should be the same as the \'ext\' CVS command-line environment variable settings.
ExtMethodPreferencePage_CVS_RSH=CVS_&RSH:
ExtMethodPreferencePage_Browse=&Browse...
ExtMethodPreferencePage_Details=Select a program or script
ExtMethodPreferencePage_CVS_RSH_Parameters=&Parameters:
ExtMethodPreferencePage_Add_Variable=&Add Variable...
ExtMethodPreferencePage_CVS_SERVER__7=CVS_&SERVER:
UpdateMergeActionProblems_merging_remote_resources_into_workspace_1=Problems merging remote resources into workspace
UpdateMergeActionProblems_merging_remote_resources_into_workspace_2=Problems merging remote resources into workspace
CVSAddResolutionGenerator.Add_Resource_to_CVS_1=Add Resource to CVS
CVSAddResolutionGenerator.Add_Resource_and_Children_to_CVS_2=Add Resource and Children to CVS
CVSAddResolutionGenerator.Add_to_.cvsignore_3=Add to .cvsignore
CVSRemoveResolutionGenerator.Commit_Deletion_to_CVS_1=Commit Deletion to CVS
CVSRemoveResolutionGenerator.Undo_Deletion_from_Local_History_2=Undo Deletion from Local History
CVSRemoveResolutionGenerator.No_local_history_available._Try_undoing_from_the_server_3=No local history available. Try undoing from the server
CVSRemoveResolutionGenerator.Undo_Deletion_from_CVS_Server_4=Undo Deletion from CVS Server
CVSRemoveResloutionGenerator.Commit_Deletion_to_CVS_1=Commit Deletion to CVS
CVSRemoveResloutionGenerator.Undo_Deletion_from_Local_History_2=Undo Deletion from Local History
CVSRemoveResloutionGenerator.No_local_history_available._Try_undoing_from_the_server_3=No local history available. Try undoing from the server
CVSRemoveResloutionGenerator.Undo_Deletion_from_CVS_Server_4=Undo Deletion from CVS Server

TagConfigurationDialog.1=Configure Branches and Versions for {0}
TagConfigurationDialog.2=Configure Branches and Versions for {0} projects
TagConfigurationDialog.4=Configure tags you will see in the workbench.
TagConfigurationDialog.5=&Browse files for tags:
TagConfigurationDialog.6=&New tags found in the selected files:
TagConfigurationDialog.7=Remembered &tags for these projects:
TagConfigurationDialog.8=&Add Checked Tags
TagConfigurationDialog.9=&Remove
TagConfigurationDialog.10=Re&move All
TagConfigurationDialog.11=&List of files to be automatically examined when refreshing tags:
TagConfigurationDialog.12=A&dd Selected Files
TagConfigurationDialog.13=Rem&ove
TagConfigurationDialog.14=Error fetching tags from remote CVS files
TagConfigurationDialog.20=&Refresh from Repository
TagConfigurationDialog.21=&Configure Tags
TagConfigurationDialog.22=Updating Tags

ChangeListener.Deleting_CVS_folders_1=Deleting CVS folders
ChangeListener.Folders_cannot_be_deleted_from_a_CVS_server_from_the_client._To_delete_the_folder_2=Folders cannot be deleted from a CVS server from the client. To delete the folder
ChangeListener.Do_not_ask_me_about_this_again_3=Do not ask me about this again
ConfigureTagsFromRepoViewConfigure_Tag_Error_1=Configure Tag Error
RemoteRootAction.label=Discard location
RemoteRootAction.Unable_to_Discard_Location_1=Unable to Discard Location
RemoteRootAction.Projects_in_the_local_workspace_are_shared_with__2=Projects in the local workspace are shared with {0}. This location cannot be discarded until all local projects are disconnected from it.
RemoveRootAction.removeRoot_3=RemoveRootAction.removeRoot
RemoteRootAction.The_projects_that_are_shared_with_the_above_repository_are__4=The projects that are shared with the above repository are:

BranchCategory.Branches_1=Branches
GroupedByVersionCategory.Versions_1=Versions
VersionCategory.Versions_1=Versions
ModulesCategory.label=Modules
HistoryView.[...]_4=[...]

CVSProjectPropertiesPage.connectionType=Connection type:
CVSProjectPropertiesPage.user=User:
CVSProjectPropertiesPage.Select_a_Repository_1=Select a Repository
CVSProjectPropertiesPage.Select_a_CVS_repository_location_to_share_the_project_with__2=Select a compatible CVS repository location to share the project with:
CVSProjectPropertiesPage.Change_Sharing_5=&Change Sharing...
CVSProjectPropertiesPage.fetchAbsentDirectoriesOnUpdate=&Fetch absent or new directories when updating
CVSProjectPropertiesPage.configureForWatchEdit=Enable watch/edit for this project
CVSProjectPropertiesPage.progressTaskName=Updating project's CVS properties
CVSProjectPropertiesPage.setReadOnly=Setting all files read-only
CVSProjectPropertiesPage.clearReadOnly=Setting all files writable
CVSRepositoryPropertiesPage.Confirm_Project_Sharing_Changes_1=Confirm Project Sharing Changes
CVSRepositoryPropertiesPage.There_are_projects_in_the_workspace_shared_with_this_repository_2=There are projects in the workspace shared with this repository. The projects will be updated with the new information that you have entered
CVSRepositoryPropertiesPage.sharedProject=The projects that are shared with {0} are:
CVSRepositoryPropertiesPage.useDefaultProgramName=Expect the &default program name "cvs" in text message prefixes from this server
CVSRepositoryPropertiesPage.useProgramName=Expect a custom &program name:
CVSRepositoryPropertiesPage.useLocationAsLabel=Use the &repository identification string as the label
CVSRepositoryPropertiesPage.useCustomLabel=Use a custom &label:

CVSProjectSetSerializer.Confirm_Overwrite_Project_8=Confirm Overwrite Project
CVSProjectSetSerializer.The_project_{0}_already_exists._Do_you_wish_to_overwrite_it__9=The project {0} already exists. Do you wish to overwrite it?

IgnoreResourcesDialog.titleSingle=Add {0} to .cvsignore
IgnoreResourcesDialog.titleMany=Add {0} resources to .cvsignore
IgnoreResourcesDialog.prompt=Select what to add to the .cvsignore file(s):
IgnoreResourcesDialog.addNameEntryButton=Resource(s) by name
IgnoreResourcesDialog.addNameEntryExample=Examples: file1.so, file2.so, .rcfile, bin
IgnoreResourcesDialog.addExtensionEntryButton=Wildcard extension
IgnoreResourcesDialog.addExtensionEntryExample=Examples: *.so, *.rcfile, bin
IgnoreResourcesDialog.addCustomEntryButton=Custom pattern
IgnoreResourcesDialog.addCustomEntryExample=The wildcard characters ''*'' and ''?'' are permitted.
IgnoreResourcesDialog.patternMustNotBeEmpty=Pattern must not be empty.
IgnoreResourcesDialog.patternDoesNotMatchFile=Pattern does not match all selected resources: e.g. {0}

ContentAction.Confirm_Long_Operation_1=Confirm Long Operation
ContentAction.Changing_this_setting_will_involve_contacting_the_server_and_may_be_long-running_2=Changing this setting will involve contacting the server and may be long-running

CVSProjectPropertiesPage.You_can_change_the_sharing_of_this_project_to_another_repository_location._However,_this_is_only_possible_if_the_new_location_is___compatible___(on_the_same_host_with_the_same_repository_path)._1=You can change the sharing of this project to another repository location. However, this is only possible if the new location is \"compatible\" (on the same host with the same repository path).

ConfigurationWizardMainPage.Location_1=Location
ConfigurationWizardMainPage.Authentication_2=Authentication
ConfigurationWizardMainPage.Connection_3=Connection
AlternateUserValidationDialog.Enter_Password_2=Enter Password
AlternateUserValidationDialog.OK_6=OK
AlternateUserValidationDialog.Cancel_7=Cancel
AlternateUserValidationDialog.message=Enter the password for {0}:
WorkbenchUserAuthenticator.The_operation_was_canceled_by_the_user_1=The operation was canceled by the user
CVSCatchupReleaseViewer.No_workspace_file_1=No workspace file
CVSPreferencesPage.Timeout_must_not_be_negative_1=Timeout must not be negative
CVSPreferencesPage.Timeout_must_be_a_number_2=Timeout must be a number
CVSCatchupReleaseViewer.Select_&Outgoing_Additions_1=Select New Reso&urces
ForceCommitSyncAction.Outgoing_Changes_Not_Added_1=Outgoing Changes Not Added
ForceCommitSyncAction.You_have_chosen_to_commit_new_resources_which_have_not_been_added_to_version_control._Do_you_wish_to_add_them_to_version_control_now__2=You have chosen to commit new resources which have not been added to version control. Do you wish to add them to version control now?

WorkingSetSelectionArea.workingSetOther=&Other...
ListSelectionArea.selectAll=&Select All
ListSelectionArea.deselectAll=&Deselect All

RestoreFromRepositoryWizard.fileSelectionPageTitle=Restore from Repository
RestoreFromRepositoryWizard.fileSelectionPageDescription=Select the revision of each file that should be restored.
RestoreFromRepositoryFileSelectionPage.fileSelectionPaneTitle={0} - Select file to be restored:
RestoreFromRepositoryFileSelectionPage.revisionSelectionPaneTitle={0} - Check revision to be restored:
RestoreFromRepositoryFileSelectionPage.fileToRestore={0} ({1} to be restored)
RestoreFromRepositoryFileSelectionPage.fileContentPaneTitle={0} {1} in ''{2}''
RestoreFromRepositoryFileSelectionPage.emptyRevisionPane=Remote revisions of selected file:
RestoreFromRepositoryFileSelectionPage.fileExists=File ''{0}'' already exists locally.
RestoreFromRepositoryFileSelectionPage.revisionIsDeletion=Revision {0} of {1} is the deletion and can not be restored.  Select another revision of this file.
RestoreFromRepositoryAction.noFilesTitle=No Deleted Files Found
RestoreFromRepositoryAction.noFilesMessage=There were no deleted files found on the repository in folder ''{0}''.

RepositoryRoot.folderInfoMissing=Local folder ''{0}'' is not properly mapped to a remote folder.

RepositoriesViewContentHandler.unmatchedTag=No matching end tag found for tag ''{0}'' while reading repositories View configuration file.
RepositoriesViewContentHandler.missingAttribute=Required attribute ''{1}'' missing from tag ''{0}'' while reading repositories View configuration file.
RepositoriesViewContentHandler.errorCreatingRoot=An error occurred trying to create repository ''{0}''.

CVSWorkingSetFolderSelectionPage.projectSelectionPageTitle=CVS Working Set
CVSWorkingSetFolderSelectionPage.projectSelectionPageDescription=Enter a working set name and select the working set folders.
CVSWorkingSetFolderSelectionPage.name=&Working set name:
CVSWorkingSetFolderSelectionPage.treeLabel=Working &set contents:
CVSWorkingSetFolderSelectionPage.refresh=&Refresh Contents
CVSWorkingSetFolderSelectionPage.invalidWorkingSetName=The name must contain only letters and digits.
CVSWorkingSetFolderSelectionPage.duplicateWorkingSetName=A working set of the specific name already exists.
CVSWorkingSetFolderSelectionPage.mustSelectFolder=At least one folder must be checked.

WorkingSetSelectionDialog.title= Select CVS Working Set
WorkingSetSelectionDialog.title.multiSelect= Select CVS Working Sets
WorkingSetSelectionDialog.message= &Select a CVS working set:
WorkingSetSelectionDialog.message.multiSelect= &Select CVS working sets:
WorkingSetSelectionDialog.detailsButton.label= &Edit...
WorkingSetSelectionDialog.newButton.label= &New...
WorkingSetSelectionDialog.removeButton.label= &Remove

RefreshTagsAction.title=Refresh Branch and Version Tags?
RefreshTagsAction.message=Repository ''{0}'' has {1} projects to refresh. Continue?

WatchEditPreferencePage.description=Settings for CVS Watch/Edit.
WatchEditPreferencePage.checkoutReadOnly=&Configure projects to use Watch/Edit on checkout
WatchEditPreferencePage.validateEditSaveAction=When read-only files are modified in an editor
WatchEditPreferencePage.edit=Send a cvs &edit notification to the server
WatchEditPreferencePage.highjack=Edit the file &without informing the server

Uneditaction.confirmMessage=Overwrite local changes to edited files?
Uneditaction.confirmTitle=Confirm Unedit

FileModificationValidator.promptTitle=CVS Edit Files?
FileModificationValidator.promptMessage=There are read-only files being modified. Should a 'cvs edit' be performed?
FileModificationValidator.vetoMessage=User vetoed file modification

RefreshRemoteProjectWizard.title=Refresh Branches
RefreshRemoteProjectSelectionPage.pageTitle=Select Projects
RefreshRemoteProjectSelectionPage.pageDescription=Select the remote projects whose tags should be refreshed.
RefreshRemoteProjectSelectionPage.selectRemoteProjects=This wizard helps discover the tags associated with one or more remote projects. &Check the projects whose tags you wish to refresh.
RefreshRemoteProjectSelectionPage.noWorkingSet=Do not &use a working set
RefreshRemoteProjectSelectionPage.workingSet=Select a &working set (matching projects will be checked):

EditorsView.file=File name
EditorsView.user=User name
EditorsView.date=Date
EditorsView.computer=Computer name

EditorsDialog.title=Editors
EditorsDialog.question=The resource already has editors. Do you still want to edit the resource?
EditorsAction.classNotInitialized={0} not initialized

TargetLocationSelectionDialog.projectNameLabel=&Project Name:
TargetLocationSelectionDialog.useDefaultLabel=Use default &workspace location
TargetLocationSelectionDialog.locationLabel=&Location:
TargetLocationSelectionDialog.parentDirectoryLabel=&Directory:
TargetLocationSelectionDialog.browseLabel=&Browse...
TargetLocationSelectionDialog.messageForSingle=Select the parent directory for project {0}.
TargetLocationSelectionDialog.messageForMulti=Select the parent directory for the {0} projects.
TagetLocationSelectionDialog.locationEmpty=Project contents directory must be specified.
TagetLocationSelectionDialog.invalidLocation=Invalid location path.
TagetLocationSelectionDialog.alreadyExists=Project {0} already exists.

SynchronizeProjectsDialog.title=Synchronize CVS Projects
SynchronizeProjectsDialog.selectProjects=Projects to be synchronized
SynchronizeProjectsDialog.syncOutgoingChanges=Only synchronize projects with outgoing &changes
SynchronizeProjectsDialog.allSharedProjects=Include &all projects shared with CVS
SynchronizeProjectsDialog.sharedWorkingSetProjects=Include &working set resources shared with CVS:

RemoteFileEditorInput.fullPathAndRevision={0} {1}

CheckoutOperation.thisResourceExists=The resource ''{0}'' already exists in the workspace and will be deleted. Proceed with the check out of ''{1}''?
CheckoutOperation.thisExternalFileExists=The folder ''{0}'' exists in the local file system and will be deleted. Proceed with the check out of ''{1}''?
CheckoutOperation.confirmOverwrite=Confirm Overwrite
CheckoutOperation.scrubbingProject=Scrubbing project ''{0}''.
CheckoutOperation.refreshingProject=Configuring project ''{0}''.

CheckoutSingleProjectOperation.taskname=Checking out "{0}" from CVS as "{1}"
CheckoutMultipleProjectsOperation.taskName=Checking out {0} folders from CVS

CheckoutIntoOperation.taskname=Checking out {0} folders from CVS into ''{1}''
CheckoutIntoOperation.targetIsFile=Folder ''{0}'' cannot be checked out because file ''{1}'' is in the way.
CheckoutIntoOperation.targetIsFolder=Folder ''{0}'' cannot be checked out because folder ''{1}'' is in the way.
CheckoutIntoOperation.targetIsPrunedFolder=Folder ''{0}'' cannot be checked out because it conflicts with the pruned folder ''{1}''.
CheckoutIntoOperation.mappingAlreadyExists=Cannot checkout remote folder ''{0}'' into ''{1}'' because local folder ''{2}'' is already mapped to remote folder ''{0}''.
CheckoutIntoOperation.cancelled=Checkout of ''{1}'' cancelled by user.
CheckoutIntoOperation.overwriteMessage=Folder ''{0}'' already exists and will be deleted. Continue?

AddToWorkspace.taskName1=Checking out ''{0}'' from CVS
AddToWorkspace.taskNameN=Checking out {0} folders from CVS

CheckoutAsAction.checkoutFailed=Problems encountered performing checkout

CheckoutAsAction.enterProjectTitle=Check Out {0} As...
CheckoutAsAction.enterLocationTitle=Check Out {0} Projects As...
CheckoutAsAction.taskname=Checking out "{0}" from CVS as "{1}"
CheckoutAsAction.multiCheckout=Checking out {0} projects from CVS

CheckoutAsWizard.title=Check Out As
CheckoutAsWizard.error=Problems encountered performing checkout
CheckoutAsMainPage.title=Check Out As
CheckoutAsMainPage.description=Select the method of check out
CheckoutAsMainPage.singleFolder=Choose how to check out folder ''{0}''
CheckoutAsMainPage.asConfiguredProject=Check out as a project &configured using the New Project Wizard
CheckoutAsMainPage.asSimpleProject=Check out as a &project in the &workspace
CheckoutAsMainPage.projectNameLabel=&Project Name:
CheckoutAsMainPage.multipleFolders=Choose how to check out the {0} folders
CheckoutAsMainPage.asProjects=Check out into the &workspace as projects
CheckoutAsMainPage.intoProject=Check out &into an existing project

CheckoutAsLocationSelectionPage.title=Check Out As
CheckoutAsLocationSelectionPage.description=Select the project location
CheckoutAsLocationSelectionPage.useDefaultLabel=Use default &workspace location
CheckoutAsLocationSelectionPage.locationLabel=&Location:
CheckoutAsLocationSelectionPage.parentDirectoryLabel=&Directory:
CheckoutAsLocationSelectionPage.browseLabel=&Browse...
CheckoutAsLocationSelectionPage.locationEmpty=Project contents directory must be specified.
CheckoutAsLocationSelectionPage.invalidLocation=Invalid location path.
CheckoutAsLocationSelectionPage.messageForSingle=Select the parent directory for project {0}.
CheckoutAsLocationSelectionPage.messageForMulti=Select the parent directory for the {0} projects.

CheckoutAsProjectSelectionPage.title=Check Out Into
CheckoutAsProjectSelectionPage.description=Select the local folder that is the target of the checkout operation.
CheckoutAsProjectSelectionPage.name=Target folder &name:
CheckoutAsProjectSelectionPage.treeLabel=&Parent of target folder:
CheckoutAsProjectSelectionPage.showLabel=&Filter project list:
CheckoutAsProjectSelectionPage.recurse=&Checkout subfolders
CheckoutAsProjectSelectionPage.showAll=Show all valid target projects
CheckoutAsProjectSelectionPage.showUnshared=Show unshared projects
CheckoutAsProjectSelectionPage.showSameRepo=Show projects shared with the same repository
CheckoutAsProjectSelectionPage.invalidFolderName=''{0}'' is not a valid folder name

TargetLocationSelectionDialog.projectNameLabel=&Project Name:
TargetLocationSelectionDialog.useDefaultLabel=Use default &workspace location
TargetLocationSelectionDialog.locationLabel=&Location:
TargetLocationSelectionDialog.parentDirectoryLabel=&Directory:
TargetLocationSelectionDialog.browseLabel=&Browse...
TargetLocationSelectionDialog.messageForSingle=Select the parent directory for project {0}.
TargetLocationSelectionDialog.messageForMulti=Select the parent directory for the {0} projects.
TagetLocationSelectionDialog.locationEmpty=Project contents directory must be specified.
TagetLocationSelectionDialog.invalidLocation=Invalid location path.
TagetLocationSelectionDialog.alreadyExists=Project {0} already exists.
CheckoutIntoWizard.title=Checkout Into
CheckoutIntoWizard.projectSelectionPageTitle=Select local folder
CheckoutIntoWizard.projectSelectionPageDescription=Select the local folder that is the target of the checkout operation.
CheckoutIntoWizard.error=Checkout Error
CheckoutIntoWizard.thisResourceExists=The resource ''{0}'' already exists in the workspace.  Overwrite?
CheckoutIntoWizard.confirmOverwrite=Confirm Overwrite
CheckoutIntoWizard.mappingAlreadyExists=Cannot add remote folder ''{0}'' to project ''{1}'' as ''{2}'' because local folder ''{3}'' is already mapped to that folder.
CheckoutIntoProjectSelectionPage.description=Choose the name and parent folder where ''{0}'' should be checked out to.
CheckoutIntoProjectSelectionPage.name=Target folder &name:
CheckoutIntoProjectSelectionPage.treeLabel=&Parent of target folder:
CheckoutIntoProjectSelectionPage.showLabel=&Filter project list:
CheckoutIntoProjectSelectionPage.showAll=Show all valid target projects
CheckoutIntoProjectSelectionPage.showUnshared=Show unshared projects
CheckoutIntoProjectSelectionPage.showSameRepo=Show projects shared with the same repository
CheckoutIntoProjectSelectionPage.recurse=&Checkout subfolders
CheckoutIntoProjectSelectionPage.invalidFolderName=''{0}'' is not a valid folder name

CVSOperation.workspaceOperationJobName=CVS workspace modify operation: {0}
CVSOperation.operationJobName=CVS operation: {0}

HasProjectMetaFile.taskName=Looking for a remote meta file
TagFromWorkspace.taskName=Tagging from workspace
TagFromRepository.taskName=Tagging from repository
UpdateOnlyMergeable.taskName=Updating mergeable changes
UpdateDialog.overwriteTitle=Overwrite Local Changes?
UpdateDialog.overwriteMessage=Some conflicting files cannot be merged automatically with the update action. Should these resources be updated, overwriting any local changes?
ReplaceOperation.taskName=Replacing...
UpdateOperation.taskName=Updating...

SafeUpdateAction.warnFilesWithConflictsTitle=Non-mergeable files
SafeUpdateAction.warnFilesWithConflictsDescription=Some conflicting files cannot be merged automatically with the update action. They contain conflicting changes that will have to be merged manually. Use the Synchronize View to find the conflicts then merge the changes in a compare editor.

SafeUpdateAction.warnFilesWithConflictsTitle=Non-mergeable files
SafeUpdateAction.warnFilesWithConflictsDescription=Some conflicting files cannot be merged automatically with the update action. They contain conflicting changes that will have to be merged manually. Use the Synchronize View to find the conflicts then merge the changes in a compare editor.

Error.unableToShowSyncView=Error opening Synchronize View. Please ensure that the Team plugin is installed correctly.
ShowAnnotationAction.1=Unexpected response from CVS Server: {0}
