###############################################################################
# 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.linkWithLabel=Link with &Editor
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?
HistoryView.fetchHistoryJob=Fetching CVS revision history
HistoryView.fetchHistoryJobFile=Fetching CVS revision history for: {0}
HistoryView.errorFetchingEntries=Error fetching entries for {0}

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

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
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

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}

CVSSubscriberAction.jobName=Performing CVS operation on {0} resources.
UpdateAction.jobName=Performing CVS update on {0} resources.
MergeUpdateAction.jobName=Performing CVS merge on {0} resources.
MergeUpdateAction.invalidSubscriber=Invalid subscriber: {0}
CommitAction.jobName=Performing CVS commit on {0} resources.
WorkInProgressPreferencePage.0=CVS Work In Progress
WorkInProgressPreferencePage.1=Preferences for enabling features that are not complete:
WorkInProgressPreferencePage.2=Enable background fetching of resources in the CVS Repositories view
WorkInProgressPreferencePage.3=Enable operations to be run in the background (e.g. checkout, update, commit)
WorkInProgressPreferencePage.4=Enable the CVS sync actions to open the new sync view
CheckoutProjectOperation.8=Checking out ''{0}'' into project ''{0}''
CheckoutProjectOperation.9=Checking out ''{0}'' into {1} projects
CVSOperation.0=Errors occured in {0} of {1} operations.
CVSDecorator.exceptionMessage=Errors occured while applying CVS decorations to resources.
FetchMembersOperation.0=Fetching members of {0};

RemoteRevisionQuickDiffProvider.readingFile=Error reading remote file
RemoteRevisionQuickDiffProvider.closingFile=Error closing remote file
RemoteRevisionQuickDiffProvider.fetchingFile=CVS QuickDiff: fetching remote contents for ''{0}''
