###############################################################################
# Copyright (c) 2000, 2004 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
###############################################################################
PasswordManagementPreferencePage.2=When you create a CVS repository location you have the option of saving the password to disk. This page allows you to manage the stored passwords. The following CVS repository locations have saved passwords:
PasswordManagementPreferencePage.3=Location
PasswordManagementPreferencePage.4=Username
PasswordManagementPreferencePage.5=&Remove
PasswordManagementPreferencePage.6=Remove &All
UserValidationDialog.5=CVS Repository:
UserValidationDialog.6=&Save Password
UserValidationDialog.7=Saved passwords are stored on your computer in a file that's difficult, but not impossible, for an intruder to read.
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?

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.
ShowAnnotationAction.noSyncInfo=Cannot display annotation for {0} because it doesn't have a remote revision.

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=Revisions of ''{0}''
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 p&ath:
CVSPropertiesPage.module=Module:
CVSPropertiesPage.defaultPort=De&fault
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.lineend=Con&vert text files to use platform line ending
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
CVSPreferencePage.showCompareMergeInSync=Show revision &comparisons in a dialog

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.0=Location already exists.
ConfigurationWizardMainPage.1=User Name Required
ConfigurationWizardMainPage.2=Host Required
ConfigurationWizardMainPage.3=Port Required
ConfigurationWizardMainPage.4=Repository Path Required
ConfigurationWizardMainPage.useDefaultPort=Use Default P&ort
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 project containing 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.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
SyncAction.noChangesTitle=No Changes
SyncAction.noChangesMessage=There are no changes between the workspace resource and the remote.

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
TagRootElement.0=Dates
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...
UpdateAction.promptForUpdateSeveral=Are you sure you want to update {0} resources?
UpdateAction.promptForUpdateOne=Are you sure you want to update {0} resource?
UpdateAction.promptForUpdateTitle=Confirm Update

UpdateWizard.title=Update
UpdateWizard.0=Select Tag
UpdateWizard.1=Select the tag for the update
UpdateWizard.updatePage=Update Options
UpdateWizardPage.description=Select other options for the update

UserValidationDialog.required=Password Required
UserValidationDialog.labelUser={0}
UserValidationDialog.labelPassword={1}
UserValidationDialog.password=&Password:
UserValidationDialog.user=&User name:

KeyboradInteractiveDialog.message=Keyboard Interactive authentication for {0}
KeyboardInteractiveDialog.labelRepository=Enter values for the following repository: {0}

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
TagSelectionDialog.0=&Add Date...
TagSelectionDialog.1=&Remove
TagSelectionWizardPage.0=&Use the tag currently associated with the workspace resources
TagSelectionWizardPage.1=&Select the tag from the following list

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.0=Use an &external program to connect
ExtMethodPreferencePage.2=Choosing to use another connection method allows the meta information in CVS projects to be compatible with external CVS tools while using a custom connection method.
ExtMethodPreferencePage.1=Use another &connection method type to connect
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.0=Add &Date...
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
RemoteLogOperation.0=Fetching log information from {0}
RemoteLogOperation.1=Fetching log information
RemoveDateTagAction.0=&Remove
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
WatchEditPreferencePage.editPrompt=Before a CVS edit notification is sent to the server
WatchEditPreferencePage.neverPrompt=&Never prompt
WatchEditPreferencePage.alwaysPrompt=Always &prompt
WatchEditPreferencePage.onlyPrompt=&Only prompt if there are other editors

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 and send a CVS edit notification to server?
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
ChangeLogModelProvider.0=Sort &Comments By
ChangeLogModelProvider.1=&Comment
ChangeLogModelProvider.2=&Date
ChangeLogModelProvider.3=&User
ChangeLogModelProvider.4=Retrieving revision histories
ChangeLogModelProvider.5=Commit &Sets
ChangeLogModelProvider.6=Sort &Resources By
ChangeLogModelProvider.7=&Name
ChangeLogModelProvider.8=&Path
ChangeLogModelProvider.9=&Parent Name

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=Do you want to overwrite local changes?
ReplaceOperation.taskName=CVS Replace
UpdateOperation.taskName=CVS Update

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}

UpdateAction.jobName=CVS Update
MergeUpdateAction.jobName=CVS Merge
MergeUpdateAction.invalidSubscriber=Invalid subscriber: {0}
CommitAction.jobName=CVS Commit
OverrideAndUpdateAction.jobName=Performing CVS Override and Update 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 ''{1}''
CheckoutProjectOperation.9=Checking out ''{0}'' into {1} projects
CheckoutProjectOperation.0=Checkout of remote folder {0} cancelled by user
CVSOperation.0=Errors occured in {0} of {1} operations.
CVSTagElement.0=Error
CVSTagElement.1=Error fetching resource list from repository.
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
RemoteCompareOperation.0=Comparing tags {0} and {1} of {2}

WorkspaceToolbarCommitAction.label=Commit
WorkspaceToolbarCommitAction.tooltip=Commit All Outgoing Changes...
WorkspaceToolbarCommitAction.description=Commit All Outgoing Changes...
WorkspaceToolbarCommitAction.image=checkin_action.gif

WorkspaceToolbarUpdateAction.label=Update
WorkspaceToolbarUpdateAction.tooltip=Update All Incoming Changes...
WorkspaceToolbarUpdateAction.description=Update All Incoming Changes...
WorkspaceToolbarUpdateAction.image=checkout_action.gif

SharingWizardIgnore.label=Ignore
SharingWizardIgnore.tooltip=Ignore Selected Resources...
SharingWizardIgnore.description=Ignore Selected Resources...
SharingWizardIgnore.image=ignorefiles.gif

WorkspaceUpdateAction.label=&Update
WorkspaceUpdateAction.tooltip=Perform an update on the selected resources
WorkspaceUpdateAction.helpContextId=org.eclipse.team.cvs.ui.workspace_update_action

OverrideAndUpdateAction.label=O&verride and Update
OverrideAndUpdateAction.tooltip=Perform an override and update on the selected resources. This will make the local contents equal to the remote ignoring any local changes.
OverrideAndUpdateAction.helpContextId=org.eclipse.team.cvs.ui.workspace_overupdate_action

RefreshDirtyStateAction.label=C&lean Timestamps
RefreshDirtyStateOperation.0=Problems encountered cleaning timestamps
RefreshDirtyStateOperation.1=CVS Clean Timestamps
RefreshDirtyStateAction.tooltip=Reset the dirty state of out-of-sync files whose contents match the server contents
RefreshDirtyStateAction.helpContextId=org.eclipse.team.cvs.ui.workspace_refresh_dirty_state_action_context

WorkspaceCommitAction.label=&Commit...
WorkspaceCommitAction.tooltip=Perform a commit on the selected resources
WorkspaceCommitAction.helpContextId="org.eclipse.team.cvs.ui.workspace_commit_action

OverrideAndCommitAction.label=Override and Comm&it...
OverrideAndCommitAction.tooltip=Perform an override and commit on the selected resources. This will make the remote contents equal to the local ignoring any remote changes.
OverrideAndCommitAction.helpContextId=org.eclipse.team.cvs.ui.workspace_overcommit_action

ConfirmMergedAction.label=&Mark as Merged
ConfirmMergedAction.tooltip=Mark the conflict as merged by upgrading the base to match the remote
ConfirmMergedAction.helpContextId=org.eclipse.team.cvs.ui.workspace_confirm_merged_action

BranchAction.label=&Branch...
BranchAction.tooltip=Branch

IgnoreAction.label=A&dd to .cvsignore...
IgnoreAction.tooltip=Ignore the Selected Resources when Synchronizing

ShowResourceInHistoryAction.label=Show in Resource &History
ShowResourceInHistoryAction.tooltip=Show in Resource History

ShowAnnotationAction.label=Show &Annotation
ShowAnnotationAction.tooltip=Show Annotation

GenerateDiffFileAction.label=Create &Patch...
GenerateDiffFileAction.tooltip=Compare your workspace contents with the server and generate a diff file that can be used as a patch file.

MergeUpdateAction.label=&Update
MergeUpdateAction.tooltip=Perform an update merge on the selected resources
MergeUpdateAction.helpContextId=org.eclipse.team.cvs.ui.merge_update_action

CompareRevertAction.label=&Override and Update
CompareRevertAction.tooltip=Revert the local file contents to match that of their corresponding remotes
CompareRevertAction.helpContextId=org.eclipse.team.cvs.ui.compare_revert_action

SharingCommitAction.label=Commit
SharingCommitAction.tooltip=Commit All Changes...
SharingCommitAction.description=Commit All Changes...
SharingCommitAction.image=checkin_action.gif

MergeSynchronizeParticipant.8=Missing id initializing cvs merge participant
MergeSynchronizeParticipant.9=Unable to initialize cvs merge subscriber
MergeSynchronizeParticipant.10=Missing root nodes in cvs merge subscriber memento: {0}
MergeSynchronizeParticipant.11=Root resource in cvs merge subscriber is no longer in workspace, ignoring: {0}
MergeSynchronizeParticipant.12=Missing root resources for cvs merge subscriber: {0}
DisconnectOperation.0=Disconnecting
DisconnectOperation.1=Disconnecting {0}
SubscriberConfirmMergedAction.0=Synchronization information is missing for resource {0}
SubscriberConfirmMergedAction.jobName=Performing a CVS Mark as Merged operation on {0} resources.
CVSSubscriberAction.0=Invalid attemp to make unsupervised resource {0} in-sync.
ReleaseCommentDialog.6=Review resources that will be committed:
ReconcileProjectOperation.0=Reconciling project {0} with remote folder {1}
CheckoutToRemoteFolderOperation.0=Downloading folder {0}
CVSRepositoryPropertiesPage.21=Use this location's connection information for all connections
CVSRepositoryPropertiesPage.22=Use the following locations for read and write access
CVSRepositoryPropertiesPage.23=Read:
CVSRepositoryPropertiesPage.24=Write:
CVSRepositoryPropertiesPage.0=Confirm Host or Path Change
CVSRepositoryPropertiesPage.1=You have chosen to change the host name or repository root path for this location. You should ensure that this new information still identifies the same repository.
CompareRevertAction.0=Reverting {0} resources
CompareParticipant.0={0} ({1})
FileModificationValidator.3=Perform Edit?
FileModificationValidator.4=A CVS edit notification is required to be sent to the server in order to allow editing of one or more selected files. Continue?
CVSSynchronizeViewPage.0=Show incoming grouped by comment
CVSSynchronizeWizard.0=Unknown
Participant.comparing=Comparing
Participant.merging=Merging
Participant.synchronizing=Synchronizing

Participant.comparingDetail=Comparing {0} with {1}
Participant.mergingDetail=Merging {0}
Participant.synchronizingDetail=Synchronizing {0}

CompareWithRevisionAction.4=Compare With Revision
ReplaceWithRevisionAction.0=&Replace
ReplaceWithRevisionAction.1=Replace With Revision
ConsolePreferencesPage.4=Show CVS output in the Console View.
SharingWizard.23=Share Project Resources
SharingWizard.24=Review and commit the project resources
SharingWizard.25=Module ''{0}'' exists on the server. Select the tag to synchronize with.
SharingWizardSyncPage.0=Sharing
ReconcileProjectOperation.1=Local resource {0} is a file while the corresponding remote {1} is a folder
ReconcileProjectOperation.2=Local resource {0} is a folder while the corresponding remote {1} is a file
ShareProjectOperation.0=Sharing project {0} as {1}
SharingWizard.26=Keep Sharing?
SharingWizard.27=Project {0} has been mapped to a remote module. Should this mapping be kept?
SharingWizardSyncPage.3=The resources of project {0} are in-sync with the repository.
SharingWizardSyncPage.4=An error has occurred populating this view.
SharingWizardSyncPage.5=Show Errors
SharingWizardSyncPage.8=Errors Occurred
SharingWizardSyncPage.9=The following errors occurred.
SharingWizardSyncPage.10=Commit Changes?
SharingWizardSyncPage.11=There are still uncommitted changes that have not been shared. Should these changes be committed?
ShareProjectOperation.1=Calculating synchronization states
CVSProjectPropertiesPage.31=Show only compatible repository locations
CVSProjectPropertiesPage.32=Confirm
CVSProjectPropertiesPage.33=The selected repository location may not be compatible with the current location. Are you sure you want to change sharing to the new location?
RepositoryEncodingPropertyPage.2=Identify the file system encoding used by the server where the repository is located. Setting this will allow file names and commit comments to be properly translated between the client and server in cases where the server encoding differs from the client.
RepositoryEncodingPropertyPage.3=Server Encoding
RepositoryEncodingPropertyPage.0=Cannot Change Encoding
RepositoryEncodingPropertyPage.1=Location {0} no longer exists.
RepositoryEncodingPropertyPage.4=Note: this setting does not apply to file content encodings. File content encodings can be set on the Workbench/Editors preference page and on the Info property page of a project.
CheckoutWizard.7=Checkout Project from CVS Repsitory
CheckoutWizard.8=This wizard allows you to checkout projects from a CVS Repository.
CheckoutWizard.0=Checkout from CVS
CheckoutWizard.10=Select Module
CheckoutWizard.11=Select the module to be checked out from CVS
ModuleSelectionPage.2=Use an existing &module (this will allow you to browse the modules in the repository)
CheckoutAsWizard.3=Select Tag
CheckoutAsWizard.4=Choose the tag to check out from
CheckoutAsWizard.5=&Select tag
CheckoutAsMainPage.10=(Only available when the .project file does not exist in the repository)
CVSTeamProvider.updatingFile=Updating {0}
CVSTeamProvider.makeBranch=Creating branch
CVSTeamProvider.folderInfo=Updating folder synchronization information for project {0}
CVSTeamProvider.updatingFolder=Updating {0}
AddOperation.0=Adding {0}
BranchOperation.0=Branching
BranchOperation.1=Branching {0}
CommitOperation.0=Committing {0}
UpdateOperation.0=Updating {0}
ReplaceOperation.0=Replacing {0}
TagOperation.0=Tagging {0}
RemoteAnnotationStorage.1=As error occurred computing the content type of remote resource {0}
DateTagCategory.0=Dates
DateTagDialog.0=Date (M/D/Y):
DateTagDialog.1=Include time component in tag
DateTagDialog.2=Time (HH:MM:SS):
DateTagDialog.3=Time is local
DateTagDialog.4=Time is in universal time coordinates (UTC)
DateTagDialog.5=Create Date Tag
