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

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

AddAction.add=Add
AddAction.adding=Adding...

AddToWorkspaceAction.checkoutFailed=Problems encountered performing checkout
AddToWorkspaceAction.thisResourceExists=The resource ''{0}'' already exists in the workspace.  Overwrite?
AddToWorkspaceAction.thisExternalFileExists=The folder ''{0}'' exists in the local file system.  Overwrite?
AddToWorkspaceAction.confirmOverwrite=Confirm Overwrite

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=&Error:
ConsolePreferencePage.font=Console font setting:
ConsolePreferencePage.autoOpen=&Show CVS Console when there is output

CVSAction.errorTitle=Errors Occured
CVSAction.warningTitle=Warnings Occured
CVSAction.multipleProblemsMessage=Multiple problems occured:
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 others resources in the project will be sychronized with another tag. \n\nDo you wish to continue?

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

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 occured, 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}]

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=(none)
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.root=Repository Root:
CVSFolderPropertiesPage.repository=Repository Path:
CVSFolderPropertiesPage.static=Static:

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

CVSPreferencePage.description=General CVS settings:
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 occured. You may want to consider using "Somewhat quiet" mode instead.
CVSPreferencePage.considerContentsInCompare=Con&sider file contents in comparisons
CVSPreferencePage.showAddRemoveMarkers=Show added/deleted &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 (default)
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

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. 

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?

CheckoutAsAction.checkoutFailed=Problems encountered performing checkout
CheckoutAsAction.enterProjectTitle=Check Out {0} As...
CheckoutAsAction.taskname=Checking out "{0}" from CVS as "{1}"

CommitAction.commitFailed=Problems encountered performing commit

CommitSyncAction.questionRelease=You have changes that conflict with the server. Release those changes?
CommitSyncAction.titleRelease=Release Conflicts?
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.resultException=failed due to an internal error {0}
Console.resultAborted=operation canceled {0}
Console.resultOk=ok {0}
Console.resultTimeFormat='(took 'm:ss.SSS')'
Console.preExecutionDelimiter=***
Console.postExecutionDelimiter=***

DefineVersionAction.enterTag=Enter Version Tag
DefineVersionAction.enterTagLong=Enter the name of the version:

DefineBranchAction.enterTag=Enter Branch Tag
DefineBranchAction.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 Compare with 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.getContentsAction=&Get Contents
HistoryView.getRevisionAction=Get Sticky &Revision
HistoryView.copy=&Copy
HistoryView.revision=Revision
HistoryView.tags=Tags
HistoryView.date=Date
HistoryView.author=Author
HistoryView.comment=Comment
HistoryView.refreshLabel=&Refresh View
HistoryView.refresh=Refresh View
HistoryView.selectAll=Select &All
HistoryView.showComment=Show Comment Viewer
HistoryView.showTags=Show Tag Viewer
HistoryView.title=CVS Resource History
HistoryView.titleWithArgument=CVS Resource History - {0}
HistoryView.overwriteTitle=Overwrite local changes?
HistoryView.overwriteMsg=You have local changes. Do you want to overwrite them?

IgnoreAction.ignore=Error Ignoring Resource

MergeAction.problemsDuringSync=Problems During Synchronization
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 the Merge End Point
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={0}. Keep location anyway?
NewLocationWizard.validationFailedTitle=Unable to Validate
NewLocationWizard.exception=Unable to create repository location

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

OpenRemoteFileAction.open=Open

ReleaseCommentDialog.title=Commit Comment
ReleaseCommentDialog.enterComment=Please enter a comment.

RemoteFolderElement.nameAndTag={0} {1}

RemoveRootAction.removeRoot=Error Discarding Location

RemoveBranchTagAction.removeTag=Discard Branch
RemoveModuleVersionAction.removeTag=Discard Version

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?

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

RepositoriesView.refresh=&Refresh View
RepositoriesView.new=&Repository Location...
RepositoriesView.newSubmenu=&New
RepositoriesView.Show_Folders_6=Show Folders
RepositoriesView.Show_Modules_7=Show Modules
RepositoriesView.newAnonCVS=&Anonymous Repository Location to dev.eclipse.org...

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 Occured

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=&Text 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 text files with single line granularity.
KSubstWizardSelectionPage.textWithSubstitutionsButton=Text with &keyword substitution
KSubstWizardSelectionPage.textWithSubstitutionsLabel=\
  End of lines are replaced with the appropriate convention for the client system.\n\
  Text 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.

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.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.title=Share Project
SharingWizard.heading=Configure a Project to Use CVS
SharingWizard.enterInformation=Enter Repository Location Information
SharingWizard.enterModuleName=Enter Module Name
SharingWizard.readyToFinish=Ready to Share Project
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=Show in Resource History
ShowHistoryAction.noHistory=No History Available
ShowHistoryAction.noHistoryLong=No resource history available for selected resources.

SyncAction.sync=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.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 reported tagging the resources.

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:\n{0}
UserValidationDialog.labelPassword=Enter a password for {0} in the following repository:\n{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 occured 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?


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

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=Save In File System
Browse..._4=Browse...
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 folder 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 Compare With Patch feature)
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=Text
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=&Label decoration for outgoing:
Label_decorat&ion_for_added__22=Label decorat&ion for added:
Icon_Overlays_24=Icons
Sho&w_outgoing_25=Sho&w outgoing
Show_has_&remote_26=Show has &remote
S&how_is_added_27=S&how 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_subsitution_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.\nThese 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_Note__5=Note:
ExtMethodPreferencePage_note_CVS_RSH=The RSH command must fit the following calling pattern:\n<CVS_RSH> <HOST> -l <USERNAME> <CVS_SERVER>\nThis program will be called to connect to the remote CVS server
ExtMethodPreferencePage_CVS_SERVER__7=CVS_SERVER:
ExtMethodPreferencePage_Note__8=Note:
ExtMethodPreferencePage_NoteForCVS_SERVER=This is the name of the remote CVS server program.\nChange this setting only if the remote CVS server name\nis different than the default
UpdateMergeActionProblems_merging_remote_resources_into_workspace_1=Problems merging remote resources into workspace
UpdateMergeActionProblems_merging_remote_resources_into_workspace_2=Problems merging remote resources into workspace
CVSAddResolutionGenerator.Add_Resource_to_CVS_1=Add Resource to CVS
CVSAddResolutionGenerator.Add_Resource_and_Children_to_CVS_2=Add Resource and Children to CVS
CVSAddResolutionGenerator.Add_to_.cvsignore_3=Add to .cvsignore
CVSRemoveResolutionGenerator.Commit_Deletion_to_CVS_1=Commit Deletion to CVS
CVSRemoveResolutionGenerator.Undo_Deletion_from_Local_History_2=Undo Deletion from Local History
CVSRemoveResolutionGenerator.No_local_history_available._Try_undoing_from_the_server_3=No local history available. Try undoing from the server
CVSRemoveResolutionGenerator.Undo_Deletion_from_CVS_Server_4=Undo Deletion from CVS Server
CVSRemoveResloutionGenerator.Commit_Deletion_to_CVS_1=Commit Deletion to CVS
CVSRemoveResloutionGenerator.Undo_Deletion_from_Local_History_2=Undo Deletion from Local History
CVSRemoveResloutionGenerator.No_local_history_available._Try_undoing_from_the_server_3=No local history available. Try undoing from the server
CVSRemoveResloutionGenerator.Undo_Deletion_from_CVS_Server_4=Undo Deletion from CVS Server

TagConfigurationDialog.1=Tag Configuration for {0}
TagConfigurationDialog.2=Tag Configuration for {0} projects
TagConfigurationDialog.4=Configure the branch and version tags you will see in the workbench for these projects.
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
ConfigureTagsFromRepoViewError_retreiving_root_folders_from_repository_2=Error retreiving root folders from repository
ConfigureTagsFromRepoViewConfiguring_branch_tags_3=Configuring branch tags
ConfigureTagsFromRepoViewOnFolderConfiguring_branch_tags_1=Configuring branch tags
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}
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
HistoryView.[...]_4=[...]

RepositoryManager.refreshDefinedTags=Refreshing defined tags

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

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: eg. {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
