###############################################
# Message catalog for org.eclipse.team.ui
###############################################

AuthenticatedTargetSitePropertiesPage.URL=URL:
AuthenticatedTargetSitePropertiesPage.User=&User:
AuthenticatedTargetSitePropertiesPage.Password=&Password:
AuthenticatedTargetSitePropertiesPage.Error=Error Occurred

CatchupReleaseViewer.expand=&Expand All
CatchupReleaseViewer.ignoreWhiteSpace=&Ignore White Space
CatchupReleaseViewer.refreshAction=&Refresh With Remote
CatchupReleaseViewer.showIncomingAction=Show Incoming
CatchupReleaseViewer.showInNavigator=&Show in Navigator
CatchupReleaseViewer.showOnlyConflictsAction=Show Only Conflicts
CatchupReleaseViewer.showOutgoingAction=Show Outgoing
CatchupReleaseViewer.removeFromView=Remove &From View
CatchupReleaseViewer.copyAllRightToLeft=Copy &All Changes From Right To Left
CatchupReleaseViewer.Compare_File_Contents_1=Compare File Contents
CatchupReleaseViewer.Copying_right_contents_into_workspace_2=Copying right contents into workspace

ConfigureProjectAction.configureProject=Configure Project
ConfigureProjectWizard.configureProject=Share Project
ConfigureProjectWizard.description=Select the repository plug-in that will be used to share the selected project.
ConfigureProjectWizard.title=Share Project
ConfigureProjectWizardMainPage.selectRepository=Select a repository type:

ConfigurationWizard.exceptionCreatingWizard=Exception creating wizard.

DeconfigureProjectAction.deconfigureProject=Deconfigure Project

IgnorePreferencePage.description=Use this page to specify a list of resource name patterns to exclude from version control.
IgnorePreferencePage.add=&Add...
IgnorePreferencePage.enterPatternLong=Please enter a pattern:
IgnorePreferencePage.enterPatternShort=Enter Ignore Pattern
IgnorePreferencePage.ignorePatterns=&Ignore Patterns:
IgnorePreferencePage.patternExistsLong=The entered pattern already exists.
IgnorePreferencePage.patternExistsShort=Pattern Already Exists
IgnorePreferencePage.remove=&Remove

MergeResource.commonFile=Common file: {0}
MergeResource.noCommonFile=No common file
MergeResource.noRepositoryFile=No remote file
MergeResource.repositoryFile=Remote file: {0}
MergeResource.workspaceFile=Workspace file: {0}

nothingToSynchronize=Nothing to Synchronize
simpleInternal=Internal error
exception=An exception occured

SyncCompareInput.nothingText=Workspace resources are the same as remote.
SyncCompareInput.refresh=Error During Refresh with Remote
SyncCompareInput.synchronize=Synchronize
SyncCompareInput.taskTitle=Synchronizing with Remote...

SyncSet.conflicts={0} conflicts, 
SyncSet.incomings={0} incoming change(s), 
SyncSet.noConflicts=No conflicts, 
SyncSet.noIncomings=no incoming changes, 
SyncSet.noOutgoings=no outgoing changes.
SyncSet.outgoings={0} outgoing change(s).

SyncView.freeModeAction=Incoming/Outgoing Mode
SyncView.freeModeTitle=Synchronize - Incoming/Outgoing Mode
SyncView.freeModeToolTip=Incoming/Outgoing Mode
SyncView.incomingModeAction=Incoming Mode
SyncView.incomingModeTitle=Synchronize - Incoming Mode
SyncView.incomingModeToolTip=Incoming Mode
SyncView.outgoingModeAction=Outgoing Mode
SyncView.outgoingModeTitle=Synchronize - Outgoing Mode
SyncView.outgoingModeToolTip=Outgoing Mode
SyncView.same=Workspace resources are the same as remote.
SyncView.text=Synchronize resources with their remote to display them here.
SyncView.unableSynchronize=Unable to Synchronize
SyncView.saveTitle=Save Resource
SyncView.saveMessage=Resource has been modified. Save changes?
SyncView.errorSaving=Error while saving modified resources

TeamAction.internal=Internal error occured.
TeamFile.saveChanges=Unable to save changes to file: {0}
TeamFile.modified={0}*

TextPreferencePage.add=&Add...
TextPreferencePage.binary=Binary
TextPreferencePage.change=&Change
TextPreferencePage.contents=Contents
TextPreferencePage.description=&File extensions with known content:
TextPreferencePage.enterExtensionLong=Please enter a file extension:
TextPreferencePage.enterExtensionShort=Enter File Extension
TextPreferencePage.extension=Extension
TextPreferencePage.extensionExistsLong=The entered extension already exists.
TextPreferencePage.extensionExistsShort=Extension Already Exists
TextPreferencePage.remove=&Remove
TextPreferencePage.text=ASCII

TextPreferencePage.columnExtension=extension
TextPreferencePage.columnContents=contents

ExportProjectSetMainPage.Select_the_projects_to_include_in_the_project_set__2=&Select the projects to include in the Team Project Set:
ExportProjectSetMainPage.Project_Set_File_Name__3=Select the export destination:
ExportProjectSetMainPage.Browse_4=B&rowse...
ExportProjectSetMainPage.You_have_specified_a_folder_5=You have specified a folder

ImportProjectSetMainPage.Project_Set_File_Name__2=&File name:
ImportProjectSetMainPage.Browse_3=B&rowse...
ImportProjectSetMainPage.The_specified_file_does_not_exist_4=The specified file does not exist
ImportProjectSetMainPage.You_have_specified_a_folder_5=You have specified a folder

ProjectSetContentHandler.Element_provider_must_be_contained_in_element_psf_4=Element provider must be contained in element psf
ProjectSetContentHandler.Element_project_must_be_contained_in_element_provider_7=Element project must be contained in element provider

ProjectSetExportWizard.Project_Set_1=Team Project Set
ProjectSetExportWizard.Export_a_Project_Set_3=Export a Team Project Set
ProjectSetExportWizard.Question_4=Question
ProjectSetExportWizard.Target_directory_does_not_exist._Would_you_like_to_create_it__5=Target directory does not exist. Would you like to create it?
ProjectSetExportWizard.Export_Problems_6=Export Problems
ProjectSetExportWizard.An_error_occurred_creating_the_target_directory_7=An error occurred creating the target directory
ProjectSetExportWizard.Question_8=Question
ProjectSetExportWizard.Target_already_exists._Would_you_like_to_overwrite_it__9=Target already exists. Would you like to overwrite it?
ProjectSetImportWizard.Project_Set_1=Team Project Set
ProjectSetImportWizard.Import_a_Project_Set_3=Import a Team Project Set

ExportProjectSetMainPage.Project_Set_Files_3=Team Project Set Files (*.psf)
ExportProjectSetMainPage.default=projectSet.psf
ImportProjectSetMainPage.allFiles=All Files (*.*)
ImportProjectSetMainPage.Project_Set_Files_2=Team Project Set Files (*.psf)
ExportProjectSetMainPage.&File_name__1=&File name:
TeamPreferencePage.General_settings_for_Team_support_1=General settings for Team support
TeamPreferencePage.&Use_Incoming/Outgoing_mode_when_synchronizing_2=&Use Incoming/Outgoing mode when synchronizing

NatureToPropertyAction.label=Convert Nature
NatureToPropertyAction.message=Could not remove the nature from one or more of the selected projects.
NatureToPropertyAction.multiMessage=Could not write .project file

###############################################
# Target Management Messages
###############################################

TargetSiteCreationWizard.windowTitleProject=Target a Site
TargetSiteCreationWizard.windowTitleNoProject=New Site
TargetSiteCreationWizard.label=Create a site connection
TargetSiteCreationWizard.description=Select the type of site you want to target.

TargetSiteCreationWizard.mappingPageTitle=Specify the location on the site
TargetSiteCreationWizard.siteSelectionPage=Select or create a site

SiteSelectionPage.description=Select an existing site or create a new site where you want to upload your resources to.
SiteSelectionPage.label=Select an existing site or create a new one:
SiteSelectionPage.useExisting=&Use Existing Site
SiteSelectionPage.createNew=&Create a new Site
SiteSelectionPage.disconnectTarget=&Disconnect from Site

GetAsProject.thisResourceExists=The resource ''{0}'' already exists in the workspace.  Overwrite?
GetAsProject.thisExternalFileExists=The folder ''{0}'' exists in the local file system.  Overwrite?
GetAsProject.confirmOverwrite=Confirm Overwrite
GetAsProject.taskName1=Downloading ''{0}''
GetAsProject.taskNameN=Downloading {0} folders
GetAsProject.errorCreatingProject=Error creating project: {0}
GetAsProject.errorGettingResources=Error getting resources

GetAs.checkoutFailed=Problems encountered receiving the remote folder
GetAs.enterProjectTitle=Downloading ''{0}'' As...
GetAs.taskname=Downloading ''{0}'' as ''{1}''

Error=Error

CreateNewFolderAction.errorCreatingFolder=Error creating the remote folder.
CreateNewFolderAction.title=New Remote Folder
CreateNewFolderAction.message=Enter the name for the new remote folder:
CreateNewFolderAction.newFolderName=New Folder

GetAction.title=Download
GetAction.working=Downloading from ''{0}''...

PutAction.title=Upload
PutAction.working=Uploading to ''{0}''...

SiteExplorerView.addSiteAction=Target &Site
SiteExplorerView.addSiteActionTooltip=Add a Site
SiteExplorerView.newFolderAction=Fo&lder...
SiteExplorerView.newMenu=&New
SiteExplorerView.Name_1=Name
SiteExplorerView.Size_2=Size
SiteExplorerView.Modified_3=Modified
SiteExplorerView.URL_4=URL
SiteExplorerView.mappedProjects={0} is mapped to {1}
SiteExplorerView.projectsAlreadyMapped=The selected sites are being used by projects in your workspace. You must disconnect the projects from the Sites before discarding them.
SiteExplorerView.unmapProjectsAndDisconnect=Disconnect projects from these sites then discard the sites
SiteExplorerView.unmapDialogTitle=Warning

CreateNewFolderAction.creatingFolder=Creating Folder
CreateNewFolderAction.suggestedNameProgress=Retrieving existing folder names...
CreateNewFolderAction.suggestedNameConcat={0}_{1}

SiteExplorerView.promptForDeletingSites=Are you sure you want to discard {0} site(s)?
SiteExplorerView.promptForDeletingSitesTitle=Confirm Discarding Sites

SiteExplorerViewLabelProvider.fileSize={0} KB

MappingSelectionPage.description=Specify the location on the site where you want to target your resources.
MappingSelectionPage.label=Select the site or a folder:
MappingSelectionPage.newFolderLabel=&Create Folder...
MappingSelectionPage.mappingTitle=Select the location on the site

ConfigureTargetWizardQuestion_2=Question
ConfigureTargetWizardError_6=Error
ConfigureTargetWizardError_mapping_the_project_with_this_site_7=Error mapping the project with this site
ConfigureTargetWizardURL_doesn__t_exist_on_the_server_8=URL doesn\'t exist on the server
ConfigureTargetWizardValidating_connection_to_Site..._9=Validating connection to Site...
ConfigureTargetWizardConnection_Error_10=Connection Error
ConfigureTargetWizard.alreadyMapped=''{0}'' is already targetted to ''{1}''. Are you sure you want to change this?
ConfigureTargetWizard.errorOccurred=An error occured connecting to ''{0}''.\n\nCode: {1}\nMessage: {2}\n\nDo you still want to keep this target?
ConfigureTargetWizard.errorUnmappingProject=An error occured trying to disconnect this project.

GetAction.Exception_getting_provider_2=Exception getting provider
GetAction.confirmFileOverwrite=You have local changes which you are about to overwrite. Do you wish to continue?
GetAction.confirmFileOverwriteTitle=Confirm Overwrite


GetSyncAction.Getting..._1=Downloading...
PutAction.Exception_getting_provider_2=Exception getting provider
PutSyncAction.Putting..._1=Uploading...

TargetCatchupReleaseViewer.Get_1=&Download
TargetCatchupReleaseViewer.Put_2=&Upload

SiteSelectionPage.siteLabelCurrentWithMapping={0} (currently as {1})
SiteSelectionPage.siteLabelCurrent={0} (current)

UploadAction.Exception_getting_provider=Exception getting provider
UploadAction.working=Uploading to ''{0}''...
UploadAction.noDirtyTitle=No Dirty Resources Found
UploadAction.noDirtyMessage=There were no dirty resources found to upload.
UploadAction.confirmDeletionTitle=Confirm Deletion
UploadAction.confirmFileDeletionMessage=File ''{0}'' has been deleted locally. Do you want to delete it remotely?
UploadAction.problemMessage=Problems occurred uploading.


