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.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=C&onfirm Merge

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.pruneEmptyDirectories=&Prune empty directories
CVSPreferencePage.timeoutValue=&Communication timeout value (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.showModules=&Show modules from CVSROOT/modules in repository view 
CVSPreferencePage.considerContentsInCompare=&Consider file contents instead of timestamp information when comparing CVS files
CVSPreferencePage.considerContentsInCompareTooltip=The fastest method of comparing CVS files is to consider the timestamps.\nHowever, in some cases a more accurate comparison can be achieved\nby comparing the content of files. This setting applies to all\nCVS compare editors and the Synchronize view.
CVSPreferencePage.promptOnFileDelete=&Prompt for confirmation on deletion of managed files
CVSPreferencePage.promptOnFileDeleteTooltip=Deletion of managed files results in an outgoing deletion that will be sent to the \nserver on the next commit. The user can choose to be prompted for confirmation \non the deletion of managed files.
CVSPreferencePage.promptOnFolderDelete=Prompt for confirmation on deletion of managed &folders
CVSPreferencePage.promptOnFolderDeleteTooltip=Deletion of managed folders deletes any child files but not the folder or any sub-folders. \nAny deleted files will result in outgoing deletion that will be sent to the server on the next commit. \nThe user can choose to be prompted for confirmation on the deletion of managed folders.
CVSPreferencePage.showAddRemoveMarkers=Show &markers for added and removed resources in the Task view
CVSPreferencePage.showAddRemoveMarkersTooltip=Markers will be placed in the task view for resources that have been locally removed but not \ncommitted and resources that have been locally added but not placed under CVS control.
CVSPreferencePage.replaceUnmanaged=&Delete unmanaged resources on any Replace With operation
CVSPreferencePage.replaceUnmanagedTooltip=On a Replace With... operation, files that are not under CVS control can be left as is or deleted automatically.
CVSPreferencePage.defaultTextKSubst=Default &keyword substitution mode for text files

CVSPreferencePage.title=General settings CVS.

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. You can continue merging the file \
					and saving the changes. When when you are finished \
					select it from the Structure Compare and select 'Confirm Merge' to make this \
					file an outgoing change. 

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=failed due to a server error {0}
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 &Revision
HistoryView.copy=&Copy
HistoryView.revision=Revision
HistoryView.tags=Tags
HistoryView.date=Date
HistoryView.author=Author
HistoryView.comment=Comment
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 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=Set Keyword Substitution Mode
KSubstWizardSharedFilesPage.pageDescription=\
  Warning: Some files that might be affected are already shared 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=Set Keyword Substitution Mode
KSubstWizardDirtyFilesPage.pageDescription=\
  Warning: Some files that might be affected have 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=Set Keyword Substitution Mode
KSubstWizardSelectionPage.pageDescription=\
  Choose the desired keyword substitution mode for all 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=\
  Text files are stored in the repository in a neutral format but are retrieved in the platform's native text encoding.\n\
  CVS supports conflict resolution and differencing of text files with single line granularity.
KSubstWizardSelectionPage.textWithSubstitutionsButton=Text with &keyword substitution
KSubstWizardSelectionPage.textWithSubstitutionsLabel=\
  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=Set Keyword Substitution Mode
KSubstWizardSummaryPage.pageDescription=\
  Summary of 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:

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:

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

CVSPreferencePage.compressionLevel=Compression &level (if supported by server)
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)

TagConfigurationDialog.1=Tag Configuration for {0}
TagConfigurationDialog.2=Tag Configuration for {0} projects
TagConfigurationDialog.4=Use this dialog to configure the branch and version tags you will see in the workbench for these projects. Browse the CVS files and select the tags that you want remembered. In addition, you can configure which files are automatically examined for new tags when tag lists are refreshed.
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=Remove &All
TagConfigurationDialog.11=When refreshing tags the following remote files will be examined (e.g. by default .project is always examined):
TagConfigurationDialog.12=&Add Selected Files
TagConfigurationDialog.13=&Remove
TagConfigurationDialog.14=Error fetching tags from remote CVS files
TagConfigurationDialog.15=This will fetch tags from the repository that are defined on the following files:
TagConfigurationDialog.19=If expected tags do not appear try using the configure tags dialogs to customize the tags associated with this project
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 
RemoteRootAction.RemoveRootAction.removeRoot_3=RemoveRootAction.removeRoot
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._The_projects_will_be_updated_with_the_new_information_that_you_have_entered_2=There are projects in the workspace shared with this repository. The projects will be updated with the new information that you have entered

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.description=\
  You have requested to exclude some resources from version control.  \
  This will not affect resources already under version control.
IgnoreResourcesDialog.prompt=Select what to add to the .cvsignore file in the parent folder of each selected resource:
IgnoreResourcesDialog.addNameEntryButton=Add patterns to ignore each resource by name.
IgnoreResourcesDialog.addNameEntryExample=Examples: file1.so, file2.so, .rcfile, bin
IgnoreResourcesDialog.addExtensionEntryButton=Add wildcard patterns to ignore all resources with the same extension.
IgnoreResourcesDialog.addExtensionEntryExample=Examples: *.so, *.rcfile, bin
IgnoreResourcesDialog.addCustomEntryButton=Add a 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
CVSPreferencePage.Save_dirty_editors_before_CVS_operations_1=Save dirty editors before CVS operations
CVSPreferencePage.&Never_2=&Never
CVSPreferencePage.&Prompt_3=&Prompt
CVSPreferencePage.Auto-&save_4=Auto-&save
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).
