###############################################################################
# Copyright (c) 2000, 2015 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     Benjamin Muskalla - bug 29633
#	  Remy Chi Jian Suen <remy.suen@gmail.com> 
# 		- Fix for Bug 186823 [Wizards] New Project Wizard has colliding mnemonics
#	  Oakland Software Incorporated (Francis Upton) <francisu@ieee.org>
#		- Bug 224997 [Workbench] Impossible to copy project
#     Dina Sayed, dsayed@eg.ibm.com, IBM -  bug 269844
#     Serge Beauchamp (Freescale Semiconductor) - [252996] Resource filters
#     Serge Beauchamp (Freescale Semiconductor) - [229633] Group Support
#     Markus Schorn (Wind River Systems) -  bug 284447
#     James Blackburn (Broadcom Corp.)   - bug 340978
#     Helmut J. Haigermoser (Wind River Systems)   - bug 359838
#     Christian Georgi (SAP) - Bug 423882 - Warn user if workspace is newer than IDE
#     Christian Georgi (SAP SE)           - bug 432480, bug 458811
#     Mickael Istria (Red Hat Inc.) - Bug 460749: filter resources with same location
#     Robert Roth <robert.roth.off@gmail.com> - bug 310483, duplicate mnemonic
###############################################################################

# package: org.eclipse.ui.ide

IDEWorkbenchAdvisor_noPerspective=No perspectives are open. To open a perspective, press this button:
IDEWorkbenchAdvisor_cancelHistoryPruning=Cancel to skip compacting local history.
IDEWorkbenchAdvisor_preHistoryCompaction=Saving workbench state.
IDEWorkbenchAdvisor_postHistoryCompaction=Disconnecting from workspace.

IDE_noFileEditorFound = No editor found to edit the file resource.
IDE_sideEffectWarning=Potential side effects have been identified.
IDE_coreExceptionFileStore = CoreException opening the file store on the URI.

QuickStartAction_errorDialogTitle = Quick Start Error
QuickStartAction_infoReadError = Could not read feature about information.

ConfigurationLogUpdateSection_installConfiguration=Install configuration:
ConfigurationLogUpdateSection_lastChangedOn=Last changed on {0}
ConfigurationLogUpdateSection_location=Location: {0}
ConfigurationLogUpdateSection_IUHeader=Installable Units in the profile\:
ConfigurationLogUpdateSection_IU=Id\: {0}, Version\: {1}
ConfigurationLogUpdateSection_bundleHeader=Bundles in the system\:
ConfigurationLogUpdateSection_bundle=Id\: {0}, Version\: {1}, Location\: {2}
ConfigurationLogUpdateSection_timestamp=Profile timestamp\: {0}

ErrorClosing = An error has occurred when closing the workbench. See error log for more details.
ErrorOnSaveAll = An error has occurred while saving all editors. See error log for more details.
ErrorOnCloseEditors = An error has occurred while closing editors. See error log for more details.

IDEIdleHelper_backgroundGC = Collecting garbage


############################################################
############################################################
# Copies from org.eclipse.ui.workbench
############################################################
showAdvanced = &Advanced >>
hideAdvanced = << &Advanced
editfilters = Resource F&ilters...
useDefaultLocation=Use &default location
createLinkedFolder=Link to alternate location (&Linked Folder)
createVirtualFolder=Folder is not located in the file system (Vi&rtual Folder)

# ==============================================================================
# Workbench Actions
# ==============================================================================

# --- File Menu ---
Workbench_file = &File
Workbench_new = &New
OpenWorkspaceAction_text = Switch &Workspace
OpenWorkspaceAction_toolTip = Open Workspace
OpenWorkspaceAction_errorTitle = Missing System Property
OpenWorkspaceAction_errorMessage = Unable to relaunch the platform because the {0} property has not been set.
OpenWorkspaceAction_other = &Other...
NewProjectAction_text = P&roject...
NewProjectAction_toolTip = New Project
NewExampleAction_text = E&xample...
NewExampleAction_toolTip = New Example
SaveAsDialog_title = Save As
SaveAsDialog_message = Save file to another location.
SaveAsDialog_text = Save As
SaveAsDialog_fileLabel = &File name:
SaveAsDialog_file = file
SaveAsDialog_overwriteQuestion = The file ''{0}'' already exists. Do you want to replace the existing file?
SaveAsDialog_closedProjectMessage = The selected project is closed.
Workbench_projectProperties = &Properties
Workbench_projectPropertiesToolTip = Properties


# --- Edit Menu ---
Workbench_edit = &Edit
Workbench_addBookmark = Add Bookmar&k...
Workbench_addBookmarkToolTip = Add Bookmark
Workbench_addTask = Add Ta&sk...
Workbench_addTaskToolTip = Add Task

# --- Perspective Menu ---
Workbench_perspective = Pe&rspective

# --- Navigate Menu ---
Workbench_navigate = &Navigate
Workbench_goTo = &Go To

Workbench_showIn = Sho&w In

# --- Project Menu ---
Workbench_project = &Project

Workbench_buildProject = &Build Project
Workbench_buildProjectToolTip = Build Project
Workbench_rebuildProject = &Rebuild Project
Workbench_rebuildProjectToolTip = Rebuild Project
Workbench_buildClean = Clea&n...
Workbench_buildSet = Build &Working Set
Workbench_buildAutomatically = Build Auto&matically

GlobalBuildAction_text = Build &All
GlobalBuildAction_toolTip = Build All
GlobalBuildAction_rebuildText = Rebuild A&ll
GlobalBuildAction_rebuildToolTip = Rebuild All
GlobalBuildAction_buildProblems = Build problems
GlobalBuildAction_internalError = Internal error: {0}
GlobalBuildAction_buildOperationTitle = Building all...
GlobalBuildAction_rebuildAllOperationTitle = Rebuilding all...
GlobalBuildAction_jobTitle = Building Workspace
GlobalBuildAction_BuildRunningTitle=Build Is Running
GlobalBuildAction_BuildRunningMessage=A build is currently running. Do you wish to cancel it?
BuildSetAction_noProjects=The selected working set does not contain projects that can be built.
BuildSetAction_noBuildTitle=Nothing to build


# --- Window Menu ---
Workbench_window = &Window
Workbench_openPerspective = &Open Perspective
Workbench_showView = Show &View

PromptOnExitDialog_shellTitle = Confirm Exit
PromptOnExitDialog_message0 = Exit application?
PromptOnExitDialog_message1 = Exit {0}?
PromptOnExitDialog_choice = &Always exit without prompt

Workbench_shortcuts = Navi&gation
Workbench_openNewWindow = &New Window


# --- Help Menu ---
Workbench_help = &Help
QuickStart_text = &Welcome...
QuickStart_toolTip = Open a Welcome Editor
QuickStartMessageDialog_title = Welcome
QuickStartMessageDialog_message = No features with quick start information are available
WelcomePageSelectionDialog_title = Welcome
WelcomePageSelectionDialog_message = &Show welcome page for:
TipsAndTricks_text = &Tips and Tricks...
TipsAndTricks_toolTip =Tips and Tricks
TipsAndTricksMessageDialog_title = Tips and Tricks
TipsAndTricksMessageDialog_message = No features with tips and tricks information are available
TipsAndTricksPageSelectionDialog_title = Tips and Tricks
TipsAndTricksPageSelectionDialog_message = &Show tips and tricks page for:
TipsAndTricksErrorDialog_title = Problem
TipsAndTricksErrorDialog_noHref = No tips and tricks information available
TipsAndTricksErrorDialog_noFeatures = No features with tips and tricks information available

# ==============================================================================
# Navigator Actions
# ==============================================================================
OpenWithMenu_dialogTitle = Problems Opening Editor
OpenWithMenu_Other=Other...
OpenWithMenu_OtherDialogDescription=Choose the editor for opening {0}:

CopyProjectAction_title = &Copy
CopyProjectAction_confirm=Confirm Copy
CopyProjectAction_warning=Copying project {0} may have undesirable side effects.
CopyProjectAction_toolTip = Copy Project
CopyProjectAction_copyTitle = Copy Project
CopyProjectAction_copyNameOneArg = Copy of {0}
CopyProjectAction_copyNameTwoArgs = Copy ({0}) of {1}
CopyProjectAction_alreadyExists = Project ''{0}'' already exists.
CopyProjectAction_copyFailedTitle = Copy Problems
CopyProjectAction_internalError = Internal error: {0}

CopyResourceAction_title = &Copy
CopyResourceAction_toolTip = Copy Resource
CopyResourceAction_selectDestination = Select the &destination:

MoveProjectAction_text = Mo&ve...
MoveProjectAction_toolTip = Move Project
MoveProjectAction_moveTitle = Move Project
MoveProjectAction_dialogTitle = Move Problems
MoveProjectAction_internalError = Internal error: {0}

MoveResourceAction_text = Mo&ve...
MoveResourceAction_toolTip = Move Resource
MoveResourceAction_title = Check Move
MoveResourceAction_checkMoveMessage = ''{0}'' is read-only. Do you still wish to move it?

ReadOnlyCheck_problems = Read-Only Checking Problems

RenameResourceAction_text = Rena&me...
RenameResourceAction_confirm=Confirm Rename
RenameResourceAction_warning=Renaming {0} may have undesirable side effects.
RenameResourceAction_toolTip = Rename Resource
RenameResourceAction_operationTitle = Rename Resource
RenameResourceAction_inputDialogTitle = Rename Resource
RenameResourceAction_inputDialogMessage = Enter the new resource name:
RenameResourceAction_checkTitle = Check Rename
RenameResourceAction_readOnlyCheck = ''{0}'' is read-only. Do you still wish to rename it?
RenameResourceAction_resourceExists = Resource Exists
RenameResourceAction_projectExists = Project Exists
RenameResourceAction_nameExists = A resource with that name already exists
RenameResourceAction_overwriteQuestion = ''{0}'' exists. Do you wish to overwrite?
RenameResourceAction_overwriteProjectQuestion = ''{0}'' exists.  If you choose to overwrite ''{0}'', its original content cannot be restored (even if this operation is undone).  Do you wish to overwrite the project?
RenameResourceAction_problemTitle = Rename Problems
RenameResourceAction_progress = Renaming:
RenameResourceAction_nameMustBeDifferent = You must use a different name
RenameResourceAction_problemMessage = Problems occurred renaming the selected resource.

DeleteResourceAction_text = &Delete
DeleteResourceAction_confirm=Confirm Delete
DeleteResourceAction_warning=Deleting these resources may have undesirable side effects.
DeleteResourceAction_toolTip = Delete
DeleteResourceAction_title1 = Confirm Resource Delete
DeleteResourceAction_titleN = Confirm Multiple Resource Delete
DeleteResourceAction_confirm1 = Are you sure you want to delete ''{0}'' from the file system?
DeleteResourceAction_confirmN = Are you sure you want to delete these {0} resources from the file system?
DeleteResourceAction_titleProject1 = Confirm Project Delete
DeleteResourceAction_titleProjectN = Confirm Multiple Project Delete
DeleteResourceAction_confirmProject1 = Are you sure you want to delete project ''{0}''?
DeleteResourceAction_confirmProjectN = Are you sure you want to delete these {0} projects?
DeleteResourceAction_deleteContents1 = &Also delete contents under ''{0}''
DeleteResourceAction_deleteContentsN = &Also delete contents in the file system
DeleteResourceAction_deleteContentsDetails = (Project cannot be restored using "Undo")
DeleteResourceAction_doNotDeleteContents = &Do not delete contents
DeleteResourceAction_confirmLinkedResource1 = Are you sure you want to delete linked resource ''{0}''?\nOnly the workspace link will be deleted. Link target will remain unchanged.
DeleteResourceAction_confirmLinkedResourceN = Are you sure you want to delete these {0} resources?\n\nSelection contains linked resources.\nOnly the workspace links will be deleted. Link targets will remain unchanged.
DeleteResourceAction_readOnlyQuestion = ''{0}'' is read-only. Do you still wish to delete it?
DeleteResourceAction_checkJobName = Checking resources
DeleteResourceAction_jobName = Deleting resources
DeleteResourceAction_operationLabel = Delete Resources

AddBookmarkLabel = Add Boo&kmark...
AddBookmarkToolTip = Add Bookmark
AddBookmarkDialog_title = Add Bookmark
AddBookmarkDialog_message = Enter bookmark name:

AddTaskLabel = Add &Task
AddTaskToolTip = Add Task

OpenFileAction_text = &Open
OpenFileAction_toolTip = Edit File
OpenFileAction_openFileShellTitle = Problems Opening Editor

OpenLocalFileAction_title = Open File
OpenLocalFileAction_message_fileNotFound= The file ''{0}'' could not be found.
OpenLocalFileAction_message_filesNotFound= The following files could not be found:\n{0}
OpenLocalFileAction_title_selectWorkspaceFile = Select Workspace File
OpenLocalFileAction_message_fileLinkedToMultiple = The selected file is referenced by multiple linked resources in the workspace.\nSelect a workspace resource to open the file.
OpenLocalFileAction_message_errorOnOpen = The file ''{0}'' could not be opened.\nSee log for details.

OpenResourceAction_text = Op&en Project
OpenResourceAction_toolTip = Open Project
OpenResourceAction_dialogTitle = Open Problems
OpenResourceAction_problemMessage = Problems occurred opening the selected resources.
OpenResourceAction_operationMessage = Opening project...
OpenResourceAction_openRequiredProjects =  Should referenced projects also be opened where applicable?

CloseResourceAction_text = Clo&se Project
CloseResourceAction_warningForOne=Closing project {0} may have undesirable side effects.
CloseResourceAction_warningForMultiple=Closing these projects may have undesirable side effects.
CloseResourceAction_confirm=Confirm Close
CloseResourceAction_toolTip = Close Project
CloseResourceAction_title = Close Problems
CloseResourceAction_problemMessage = Problems occurred closing the selected resources.
CloseResourceAction_operationMessage = Closing project...

CloseUnrelatedProjectsAction_text = Close &Unrelated Projects
CloseUnrelatedProjectsAction_toolTip = Close Unrelated Projects
CloseUnrelatedProjectsAction_AlwaysClose= &Always close without prompt
CloseUnrelatedProjectsAction_AlwaysCloseWithoutPrompt= Always &close unrelated projects without prompt
CloseUnrelatedProjectsAction_confirmMsg1 = Are you sure you want to close all projects that are not related to ''{0}''?
CloseUnrelatedProjectsAction_confirmMsgN = Are you sure you want to close all projects that are not related to these {0} projects?

BuildAction_text = &Build Project
BuildAction_toolTip = Incremental Build of Selected Projects
BuildAction_problemMessage = Problems occurred building the selected resources.
BuildAction_problemTitle = Build Problems
BuildAction_operationMessage = Building project...

RebuildAction_text = Rebuild Pro&ject
RebuildAction_tooltip = Full Build Of Selected Projects
RecentWorkspacesPreferencePage_NumberOfWorkspaces_label=&Number of recent workspaces to remember:
RecentWorkspacesPreferencePage_PromptAtStartup_label=Prompt for &workspace on startup
RecentWorkspacesPreferencePage_RecentWorkspacesList_label=Recent workspaces
RecentWorkspacesPreferencePage_RemoveButton_label=&Remove

RefreshAction_text = Re&fresh
RefreshAction_toolTip = Refresh
RefreshAction_progressMessage = Refreshing...
RefreshAction_problemTitle = Refresh Problems
RefreshAction_problemMessage = Problems occurred refreshing the selected resources.
RefreshAction_locationDeletedMessage = The location for project ''{0}'' ({1}) has been deleted.\n Delete ''{0}'' from the workspace?
RefreshAction_dialogTitle = Project location has been deleted

SelectWorkingSetAction_text= Select &Working Set...

# --- Operations ---
CopyProjectOperation_progressTitle = Copying:
CopyProjectOperation_copyFailedMessage = Problems occurred copying the project.
CopyProjectOperation_copyFailedTitle = Copy Problems
CopyProjectOperation_internalError = Internal error: {0}
CopyProjectOperation_copyProject = Copy Project

CopyFilesAndFoldersOperation_copyFailedTitle = Copy Problems
CopyFilesAndFoldersOperation_problemMessage = Problems occurred copying the selected resources.
CopyFilesAndFoldersOperation_operationTitle = Copying...
CopyFilesAndFoldersOperation_nameCollision = A resource name collision was detected.
CopyFilesAndFoldersOperation_internalError = Internal error: {0}
CopyFilesAndFoldersOperation_resourceExists = Resource Exists
CopyFilesAndFoldersOperation_overwriteQuestion = {0} exists. Do you wish to overwrite?
CopyFilesAndFoldersOperation_overwriteWithDetailsQuestion = Resource exists. Do you wish to overwrite?\n\nOverwrite: {0}\nLast modified: {1}\n\nwith: {2}\nLast modified: {3}
CopyFilesAndFoldersOperation_overwriteMergeQuestion = ''{0}'' exists. Do you wish to overwrite?\nFolder contents will be merged, existing files will be overwritten.
CopyFilesAndFoldersOperation_overwriteNoMergeLinkQuestion = ''{0}'' exists and is a linked folder. Do you wish to delete the linked folder and replace with the unlinked folder?\nFolder contents will not be merged!
CopyFilesAndFoldersOperation_overwriteNoMergeNoLinkQuestion = ''{0}'' exists and is not a linked folder. Do you wish to delete the folder and replace with the linked folder?\nFolder contents will not be merged!
CopyFilesAndFoldersOperation_deepCopyQuestion = Do you wish to perform a deep copy of linked resource ''{0}''?
CopyFilesAndFoldersOperation_deepMoveQuestion = Do you wish to perform a deep move of linked resource ''{0}''?
CopyFilesAndFoldersOperation_destinationAccessError = Destination folder must be accessible.
CopyFilesAndFoldersOperation_destinationDescendentError = Destination cannot be a descendent of the source.
CopyFilesAndFoldersOperation_overwriteProblem = The folder ''{0}'' already exists and cannot be overwritten since it contains ''{1}''.
CopyFilesAndFoldersOperation_question = Question
CopyFilesAndFoldersOperation_confirmMove=Confirm Move
CopyFilesAndFoldersOperation_warningMove=Moving these resources may have undesirable side effects.
CopyFilesAndFoldersOperation_confirmCopy=Confirm Copy
CopyFilesAndFoldersOperation_warningCopy=Copying these resources may have undesirable side effects.
CopyFilesAndFoldersOperation_inputDialogTitle = Name Conflict
CopyFilesAndFoldersOperation_inputDialogMessage = Enter a new name for ''{0}''
CopyFilesAndFoldersOperation_nameExists = A resource with that name already exists
CopyFilesAndFoldersOperation_nameMustBeDifferent = You must use a different name
CopyFilesAndFoldersOperation_sameSourceAndDest = Cannot copy ''{0}''. The source and destination are the same.
CopyFilesAndFoldersOperation_importSameSourceAndDest = Cannot import ''{0}''. The source and destination are the same.
CopyFilesAndFoldersOperation_resourceDeleted = The resource ''{0}'' does not exist on the file system.
CopyFilesAndFoldersOperation_missingPathVariable = The resource ''{0}'' is linked using a missing path variable.
CopyFilesAndFoldersOperation_missingLinkTarget = The link target for linked resource ''{0}'' does not exist.
CopyFilesAndFoldersOperation_CopyResourcesTask=Copying Resources
CopyFilesAndFoldersOperation_parentNotEqual = The resources must have the same parent.
CopyFilesAndFoldersOperation_infoNotFound = Information for {0} could not be read. Please check the .log file for details.
CopyFilesAndFoldersOperation_sourceCannotBeCopiedIntoAVirtualFolder = The resource ''{0}'' cannot be copied into a virtual folder.
CopyFilesAndFoldersOperation_copyTitle= Copy Resources
CopyFilesAndFoldersOperation_moveTitle= Move Resources

MoveFilesAndFoldersOperation_sameSourceAndDest = Cannot move ''{0}''. The source and destination are the same.
MoveFilesAndFoldersOperation_moveFailedTitle = Move Problems
MoveFilesAndFoldersOperation_problemMessage = Problems occurred moving the selected resources.
MoveFilesAndFoldersOperation_operationTitle = Moving...

# ==============================================================================
# Wizards
# ==============================================================================

WizardDataTransfer_existsQuestion = ''{0}'' already exists.  Would you like to overwrite it?
WizardDataTransfer_overwriteNameAndPathQuestion = Overwrite ''{0}'' in folder ''{1}''?
WizardDataTransfer_exceptionMessage =  Error occurred during operation: {0}
WizardTransferPage_selectTypes = Filter &Types...
WizardTransferPage_selectAll = &Select All
WizardTransferPage_deselectAll = &Deselect All







# --- Import ---
WizardImportPage_specifyProject = Specify a project
WizardImportPage_specifyFolder = Please specify folder
WizardImportPage_folderMustExist = Folder must be accessible.
WizardImportPage_errorDialogTitle = Import Problems
WizardImportPage_folder = Into fo&lder:
WizardImportPage_browseLabel = Browse...
WizardImportPage_browse2 = Bro&wse...
WizardImportPage_selectFolderLabel = Select a folder to import into.
WizardImportPage_selectFolderTitle = Import into Folder
WizardImportPage_destinationLabel = Select the destination for imported resources:
WizardImportPage_options = Options
WizardImportPage_projectNotExist = Destination project does not exist.
WizardImportPage_importOnReceiver = Source is in the hierarchy of the destination.
WizardImportPage_noOpenProjects = Cannot import into a workspace with no open projects. Please create a project before importing.
WizardImportPage_undefinedPathVariable = Destination folder location is based on an undefined path variable.
WizardImportPage_containerNotExist = Destination folder does not exist.

# --- Export ---
WizardExportPage_errorDialogTitle = Export Problems
WizardExportPage_mustExistMessage = Resource must exist.
WizardExportPage_mustBeAccessibleMessage = Resource must be accessible.
WizardExportPage_detailsMessage = All file resources matching this criterion
WizardExportPage_whatLabel = Select the resources to &export:
WizardExportPage_whereLabel = Select the export destination:
WizardExportPage_options = Options
WizardExportPage_selectionDialogMessage = Select the resource types to export.
WizardExportPage_resourceTypeDialog = Resource Type Selection
WizardExportPage_folder = Fo&lder:
WizardExportPage_browse = Browse...
WizardExportPage_allTypes = All types
WizardExportPage_specificTypes = Specific types:
WizardExportPage_edit = Edit...
WizardExportPage_details = Details...
WizardExportPage_selectResourcesTitle = Select the resources to export.
WizardExportPage_oneResourceSelected = 1 resource selected
WizardExportPage_selectResourcesToExport = Select the resource to export.
WizardExportPage_internalErrorTitle = Internal error
WizardExportPage_resourceCountMessage = {0} resources selected


# --- New Example ---
NewExample_title = New Example

# --- New Project ---
WizardNewProjectCreationPage_projectNameEmpty = Project name must be specified
WizardNewProjectCreationPage_projectLocationEmpty = Project location directory must be specified
WizardNewProjectCreationPage_projectExistsMessage = A project with that name already exists in the workspace.
WizardNewProjectCreationPage_nameLabel = &Project name:
WizardNewProjectReferences_title = &Referenced projects:

# --- New Folder ---
WizardNewFolderMainPage_folderName = Folder &name:
WizardNewFolderMainPage_folderLabel = folder
WizardNewFolderMainPage_description = Create a new folder resource.
WizardNewFolderCreationPage_progress = Creating
WizardNewFolderCreationPage_errorTitle = Creation Problems
WizardNewFolderCreationPage_internalErrorTitle = Creation problems
WizardNewFolderCreationPage_resourceWillBeFilteredWarning=This folder is hidden in the workspace due to resource filters.  To override existing resource filters, a linked folder can be created instead.
WizardNewFolderCreationPage_title = New Folder
WizardNewFolder_internalError = Internal error: {0}
WizardNewFolderCreationPage_createLinkLocationTitle=Create new link folder
WizardNewFolderCreationPage_createLinkLocationQuestion=The link target does not exist on the file system.  Do you want to create a new folder?

# --- New File ---
WizardNewFileCreationPage_progress = Creating
WizardNewFileCreationPage_errorTitle = Creation Problems
WizardNewFileCreationPage_fileLabel = File na&me:
WizardNewFileCreationPage_file = file
WizardNewFileCreationPage_internalErrorTitle = Creation problems
WizardNewFileCreationPage_internalErrorMessage = Internal error: {0}
WizardNewFileCreationPage_title = New File
WizardNewFileCreationPage_resourceWillBeFilteredWarning=This file is hidden in the workspace due to resource filters.  To override existing resource filters, a linked file can be created instead.
WizardNewFileCreationPage_createLinkLocationTitle=Create new link file
WizardNewFileCreationPage_createLinkLocationQuestion=The link target does not exist on the file system.  Do you want to create an empty file?

# --- Linked Resource ---
WizardNewLinkPage_linkFileButton = &Link to file on the file system
WizardNewLinkPage_linkFolderButton = &Link to folder on the file system
WizardNewLinkPage_browseButton = &Browse...
WizardNewLinkPage_variablesButton = &Variables...
WizardNewLinkPage_targetSelectionLabel = Select the link target.
WizardNewLinkPage_linkTargetEmpty = Link target must be specified
WizardNewLinkPage_linkTargetInvalid = Link target name is invalid
WizardNewLinkPage_linkTargetLocationInvalid = Link target location is invalid
WizardNewLinkPage_linkTargetNonExistent = Link target does not exist
WizardNewLinkPage_linkTargetNotFile = Link target must be a file
WizardNewLinkPage_linkTargetNotFolder = Link target must be a folder

# ==============================================================================
# Preference Pages
# ==============================================================================
Preference_note = Note:

# --- Workbench ---
WorkbenchPreference_encoding = &Text file encoding
WorkbenchPreference_defaultEncoding = Defa&ult ({0})
WorkbenchPreference_otherEncoding = &Other:
WorkbenchPreference_unsupportedEncoding = The selected encoding is not supported.

WorkbenchPreference_encoding_encodingMessage = Byte Order Mark is {0}

# ---Workspace
IDEWorkspacePreference_autobuild = &Build automatically
IDEWorkspacePreference_autobuildToolTip = Build automatically on resource modification
IDEWorkspacePreference_savePriorToBuilding= Save auto&matically before build
IDEWorkspacePreference_savePriorToBuildingToolTip= Save modified resources automatically before manual build
IDEWorkspacePreference_RefreshButtonText=&Refresh using native hooks or polling
IDEWorkspacePreference_RefreshButtonToolTip=Automatically refresh external workspace changes using native hooks or polling
IDEWorkspacePreference_RefreshLightweightButtonText=Refresh on acce&ss
IDEWorkspacePreference_RefreshLightweightButtonToolTip=Automatically refresh external workspace changes on access via the workspace
IDEWorkspacePreference_fileLineDelimiter=New text &file line delimiter
IDEWorkspacePreference_defaultLineDelim=D&efault ({0})
IDEWorkspacePreference_defaultLineDelimProj=Inh&erited from container ({0})
IDEWorkspacePreference_otherLineDelim= Ot&her:
IDEWorkspacePreference_relatedLink = See <a>''{0}''</a> for workspace startup and shutdown preferences.
IDEWorkspacePreference_openReferencedProjects = Open referenced projects when a project is opened
IDEWorkspacePreference_closeUnrelatedProjectsToolTip = Close unrelated projects without prompt
IDEWorkspacePreference_workspaceLocation=&Workspace path:
IDEWorkspacePreference_showLocationInWindowTitle=Show workspace &path in window title
IDEWorkspacePreference_showLocationInWindowTitle_lockedByCommandLine=This setting is currently locked by the '-showLocation' command line argument
IDEWorkspacePreference_workspaceName=Wor&kspace name (shown in window title):
IDEWorkbenchPreference_workbenchSystemExplorer=Command for launching system e&xplorer:

# --- Linked Resources ---
LinkedResourcesPreference_explanation = Path variables specify locations in the file system. The locations of linked resources\nmay be specified relative to these path variables.
LinkedResourcesPreference_enableLinkedResources = &Enable linked resources
LinkedResourcesPreference_linkedResourcesWarningTitle = Enabled Linked Resources
LinkedResourcesPreference_linkedResourcesWarningMessage = You have enabled a feature which may give rise to incompatibilities if projects are shared by users of different versions of the workbench.  Please consult the documentation for further details.
LinkedResourcesPreference_dragAndDropHandlingMessage = Drag and drop items on a folder or project
LinkedResourcesPreference_dragAndDropVirtualFolderHandlingMessage = Drag and drop items on a virtual folder
LinkedResourcesPreference_link=&Link
linkedResourcesPreference_copy=&Copy
LinkedResourcesPreference_linkAndVirtualFolder=Link and create &virtual folders
LinkedResourcesPreference_promptVirtual=Pr&ompt
LinkedResourcesPreference_linkVirtual=Lin&k
linkedResourcesPreference_copyVirtual=Co&py
LinkedResourcesPreference_linkAndVirtualFolderVirtual=Link and create v&irtual folders

# The following six keys are marked as unused by the NLS search, but they are indirectly used
# and should be removed.
PathVariableDialog_shellTitle_newVariable = New Variable
PathVariableDialog_shellTitle_existingVariable = Edit Variable
PathVariableDialog_shellTitle_editLocation = Edit Link Location
PathVariableDialog_dialogTitle_newVariable = Define a New Path Variable
PathVariableDialog_dialogTitle_existingVariable = Edit an Existing Path Variable
PathVariableDialog_dialogTitle_editLinkLocation = Edit a Link Location
PathVariableDialog_message_newVariable = Enter a new variable name and its associated location.
PathVariableDialog_message_existingVariable = Edit variable's name and path value.
PathVariableDialog_message_editLocation = Edit link location.

PathVariableDialog_variableName = &Name:
PathVariableDialog_variableValue = &Location:
PathVariableDialog_variableResolvedValue = Resolved Location:
PathVariableDialog_variableNameEmptyMessage = You must provide a variable name.
PathVariableDialog_variableValueEmptyMessage = You must provide a file or folder path as variable value.
PathVariableDialog_variableValueInvalidMessage = The provided value is not a valid path.
PathVariableDialog_file = &File...
PathVariableDialog_folder = F&older...
PathVariableDialog_variable = &Variable...
PathVariableDialog_selectFileTitle = File selection
PathVariableDialog_selectFolderTitle = Folder selection
PathVariableDialog_selectFolderMessage = Specify the folder to be represented by the variable.
PathVariableDialog_variableAlreadyExistsMessage = This variable name is already in use.
PathVariableDialog_pathIsRelativeMessage = Path must be absolute.
PathVariableDialog_pathDoesNotExistMessage = Path does not exist.
PathVariableDialog_variableValueIsWrongTypeFolder = Path target is of wrong type.  The path must point to a folder.
PathVariableDialog_variableValueIsWrongTypeFile = Path target is of wrong type.  The path must point to a file.

# --- Local History ---
FileHistory_longevity = Days to &keep files:
FileHistory_entries = Maximum &entries per file:
FileHistory_diskSpace = &Maximum file size (MB):
FileHistory_applyPolicy = &Limit history size
FileHistory_mustBePositive = Values must be positive
FileHistory_invalid = Invalid value: {0}
FileHistory_exceptionSaving = Internal error saving local history
FileHistory_aboveMaxEntries = Above maximum Entries per file: {0}
FileHistory_aboveMaxFileSize = Above maximum file size value: {0}
FileHistory_restartNote = The 'Maximum entries per file' and the 'Days to keep files' values\nare only applied when compacting the local history on shutdown.

# --- Perspectives ---
ProjectSwitchPerspectiveMode_optionsTitle = Open the associated perspective when creating a new project
ProjectSwitchPerspectiveMode_always = Alwa&ys open
ProjectSwitchPerspectiveMode_never = Ne&ver open
ProjectSwitchPerspectiveMode_prompt = Promp&t

# --- Build Order ---
BuildOrderPreference_up = &Up
BuildOrderPreference_down = Dow&n
BuildOrderPreference_add = Add &Project...
BuildOrderPreference_remove = &Remove Project
BuildOrderPreference_selectOtherProjects = Select &projects to add to build path:
BuildOrderPreference_useDefaults = Use d&efault build order
BuildOrderPreference_projectBuildOrder = Project build &order:
BuildOrderPreference_removeNote = A project removed from the list is still built but after those specified in the list.
BuildOrderPreference_maxIterationsLabel=&Max iterations when building with cycles:

# --- Startup preferences ---
StartupPreferencePage_refreshButton = &Refresh workspace on startup
StartupPreferencePage_launchPromptButton = Prompt for &workspace on startup
StartupPreferencePage_exitPromptButton = &Confirm exit when closing last window

# --- Info ---
ResourceInfo_readOnly = &Read-only
ResourceInfo_executable = E&xecutable
ResourceInfo_locked = L&ocked
ResourceInfo_archive = Ar&chive
ResourceInfo_derived = Deri&ved
ResourceInfo_derivedHasDerivedAncestor = Deri&ved (has derived ancestor)
ResourceInfo_type = T&ype:
ResourceInfo_location = &Location:
ResourceInfo_resolvedLocation = Resolved locatio&n:
ResourceInfo_size = &Size:
ResourceInfo_bytes = {0}  bytes
ResourceInfo_file = File
ResourceInfo_fileTypeFormat = File  ({0})
ResourceInfoPage_noResource=Resource information is not available for the current selection.
ResourceFilterPage_title=A file system object will be added to the workspace tree during the refresh operation\nif it matches any of the include filters and doesn't match any of the exclude filters. 
ResourceFilterPage_noResource=Resource information is not available for the current selection.
ResourceFilterPage_addButtonLabel=Add &Filter...
ResourceFilterPage_addGroupButtonLabel=Add &Group...
ResourceFilterPage_editButtonLabel=&Edit...
ResourceFilterPage_removeButtonLabel=&Remove
ResourceFilterPage_columnFilterMode=Filter type
ResourceFilterPage_columnFilterDescription=Description
ResourceFilterPage_columnFilterTarget=Applies to
ResourceFilterPage_columnFilterPattern=&Pattern
ResourceFilterPage_applyRecursivelyToFolderStructure=All children (recursi&ve)
ResourceFilterPage_recursive=(recursive)
ResourceFilterPage_details=Filter Details
ResourceFilterPage_caseSensitive=&Case sensitive
ResourceFilterPage_regularExpression=Re&gular expression
ResourceFilterPage_multiMatcher_Matcher=(* = any string, ? = any character, \\ = escape for literals: * ? \\)
ResourceFilterPage_multiMatcher_FileLength=(* = bytes, *k = kilobytes, *m = megabytes, *g = gigabytes)
ResourceFilterPage_multiMatcher_TimeInterval= (*s = seconds, *m = minutes, *h = hours, *d = days)
ResourceFilterPage_multiMatcher_InvalidFileLength=Invalid file length syntax: {0}
ResourceFilterPage_multiMatcher_InvalidTimeInterval=Invalid time interval syntax: {0}
ResourceFilterPage_includeOnly=&Include only
ResourceFilterPage_excludeAll=&Exclude all
ResourceFilterPage_includeOnlyColumn=Include only:
ResourceFilterPage_excludeAllColumn=Exclude all:
ResourceFilterPage_filesAndFolders=Files &and folders
ResourceFilterPage_files=&Files
ResourceFilterPage_folders=F&olders
ResourceFilterPage_editFilterDialogTitle=Edit Resource Filter
ResourceFilterPage_newFilterDialogTitleProject=Add Resource Filter for project {0}
ResourceFilterPage_newFilterDialogTitleFolder=Add Resource Filter for folder {0}
ResourceFilterPage_addSubFilterActionLabel=&Add...
ResourceFilterPage_addSubFilterGroupActionLabel=Add &Group...
ResourceFilterPage_removeFilterActionLabel=&Remove
ResourceFilterPage_editFilterActionLabel=&Edit
ResourceFilterPage_multiKeyName=Name
ResourceFilterPage_multiKeyProjectRelativePath=Project Relative Path
ResourceFilterPage_multiKeyLocation=Location
ResourceFilterPage_multiKeyLastModified=Last Modified
ResourceFilterPage_multiKeyCreated=Date Created
ResourceFilterPage_multiKeyLength=File Length
ResourceFilterPage_multiKeyReadOnly=Read-Only
ResourceFilterPage_multiKeySymLink=Symbolic Link
ResourceFilterPage_multiEquals=equals
ResourceFilterPage_multiMatches=matches
ResourceFilterPage_multiLargerThan=is larger than
ResourceFilterPage_multiSmallerThan=is smaller than
ResourceFilterPage_multiBefore=is before
ResourceFilterPage_multiAfter=is after
ResourceFilterPage_multiWithin=is within
ResourceFilterPage_true=true
ResourceFilterPage_false=false
ResourceInfo_folder = Folder
ResourceInfo_project = Project
ResourceInfo_linkedFile = Linked File
ResourceInfo_linkedFolder = Linked Folder
ResourceInfo_virtualFolder = Virtual Folder
ResourceInfo_unknown = Unknown
ResourceInfo_notLocal = <file contents not local>
ResourceInfo_isVirtualFolder = <virtual folder>
ResourceInfo_undefinedPathVariable = <undefined path variable>
ResourceInfo_notExist = <resource does not exist>
ResourceInfo_fileNotExist = {0} - (does not exist)
ResourceInfo_path = &Path:
ResourceInfo_lastModified = Last &modified:
ResourceInfo_fileEncodingTitle = Default encoding for &text files
ResourceInfo_fileContentEncodingFormat = D&efault (determined from content: {0})
ResourceInfo_fileContentTypeEncodingFormat = D&efault (determined from content type: {0})
ResourceInfo_fileContainerEncodingFormat = D&efault (inherited from container: {0})
ResourceInfo_containerEncodingFormat = &Inherited from container ({0})
ResourceInfo_exWarning= Removing the executable flag on a folder will cause its children to become unreadable.
ResourceInfo_edit=&Edit...
ResourceInfo_attributes=Attributes:
ResourceInfo_permissions=Pe&rmissions:
ResourceInfo_owner=Owner
ResourceInfo_group=Group
ResourceInfo_other=Other
ResourceInfo_read=Read
ResourceInfo_write=Write
ResourceInfo_execute=Execute
ResourceInfo_recursiveChangesTitle = Confirm recursive changes
ResourceInfo_recursiveChangesSummary = The following changes have been made:
ResourceInfo_recursiveChangesSet = set
ResourceInfo_recursiveChangesUnset = unset
ResourceInfo_recursiveChangesQuestion = Do you want to apply these changes to subfolders and files?
ResourceInfo_recursiveChangesJobName = Applying recursive changes
ResourceInfo_recursiveChangesSubTaskName = Applying changes for: ''{0}''
ResourceInfo_recursiveChangesError = Error applying recursive changes

# --- Project References ---
ProjectReferencesPage_label = Projects may refer to other projects in the workspace.\nUse this page to specify what other projects are referenced by the project.\n\n&Project references for ''{0}'':

# --- Project Linked Resources References ---
ProjectLinkedResourcePage_description=Path variables specify locations in the file system, including other path variables with the syntax "${VAR}".\nThe locations of linked resources may be specified relative to these path variables.
ProjectLinkedResourcePage_pathVariableTabTitle=Path Variables
ProjectLinkedResourcePage_linkedResourcesTabTitle=Linked Resources

# --- Linked Resource Editor ---
LinkedResourceEditor_editLinkedLocation=&Edit...
LinkedResourceEditor_convertToVariableLocation=&Convert...
LinkedResourceEditor_remove=&Delete...
LinkedResourceEditor_resourceName=Resource Name
LinkedResourceEditor_path=Path
LinkedResourceEditor_location=Location
LinkedResourceEditor_fixed=Variable Relative Location
LinkedResourceEditor_broken=Invalid Location
LinkedResourceEditor_absolute=Absolute Path Location
LinkedResourceEditor_changedTo=Changed ''{0}'' from ''{1}'' to ''{2}''.
LinkedResourceEditor_unableToSetLinkLocationForResource=Unable to create variable ''{0}'' for location ''{1}''.
LinkedResourceEditor_convertRelativePathLocations=Convert Variable Relative to Absolute Path Locations
LinkedResourceEditor_convertionResults=Conversion Results
linkedResourceEditor_OK=OK
LinkedResourceEditor_unableToCreateVariable=Unable to create variable ''{0}'' for location ''{1}''.
LinkedResourceEditor_unableToFindCommonPathSegments=Unable to find common path segments for the following resources:
LinkedResourceEditor_convertAbsolutePathLocations=Convert Absolute Path Locations to Variable Relative
LinkedResourceEditor_descriptionBlock=Linked resources in project ''{0}'':
LinkedResourceEditor_convertTitle = Convert linked resource locations
LinkedResourceEditor_convertMessage = Are you sure you want to convert the linked resource location(s) between absolute and variable relative paths?  This operation cannot be undone.  
LinkedResourceEditor_removeTitle = Delete linked resources
LinkedResourceEditor_removeMessage = Are you sure you want to delete the selected linked resources?  This operation cannot be undone.  
LinkedResourceEditor_removingMessage=Deleting linked resources...
# ==============================================================================
# Editors
# ==============================================================================
DefaultEditorDescription_name = &Default Editor

WelcomeEditor_accessException = An exception occurred when trying to access the welcome page
WelcomeEditor_readFileError = Error in WelcomeEditor.readFile
WelcomeEditor_title = Welcome
WelcomeEditor_toolTip = Welcome to {0}
WelcomeEditor_copy_text=&Copy

WelcomeItem_unableToLoadClass = Unable to load class
WelcomeParser_parseError = Error in WelcomeParser.parse
WelcomeParser_parseException = An exception occurred when parsing the welcome page
Workbench_openEditorErrorDialogTitle = Problem
Workbench_openEditorErrorDialogMessage = Unable to open editor
QuickStartAction_openEditorException = An exception occurred when opening the editor

# ==============================================================================
# Dialogs
# ==============================================================================
Question = Question
Always = Alwa&ys
Never = &Never
Prompt = &Prompt

ContainerSelectionDialog_title = Folder Selection
ContainerSelectionDialog_message = Enter or select the parent folder:

ContainerGroup_message = &Enter or select the parent folder:
ContainerGroup_selectFolder = Select the folder:

ContainerGenerator_progressMessage = Generate Folder
ContainerGenerator_pathOccupied = Cannot create folder because a file exists at that location: {0}

ResourceGroup_resource = resource
ResourceGroup_nameExists = ''{0}'' already exists.
ResourceGroup_folderEmpty = No folder specified.
ResourceGroup_noProject = The specified project does not exist.
ResourceGroup_emptyName = The ''{0}'' name is empty.
ResourceGroup_invalidFilename = ''{0}'' is not a valid file name.
ResourceGroup_pathOccupied = A file already exists at that location: {0}

FileSelectionDialog_title = File Selection
FileSelectionDialog_message = Select the files:

ProjectLocationSelectionDialog_nameLabel = &Project name:
ProjectLocationSelectionDialog_locationLabel = &Location:
ProjectLocationSelectionDialog_browseLabel = B&rowse...
ProjectLocationSelectionDialog_directoryLabel = Select the location directory.
ProjectLocationSelectionDialog_locationError = Invalid location path
ProjectLocationSelectionDialog_locationIsSelf = Location is the current location
ProjectLocationSelectionDialog_selectionTitle = Project
ProjectLocationSelectionDialog_useDefaultLabel = Use &default location


ResourceSelectionDialog_title = Resource Selection
ResourceSelectionDialog_message = Select the resources:

MarkerResolutionSelectionDialog_title = Quick Fix
MarkerResolutionSelectionDialog_messageLabel = &Available fixes:
MarkerDeleteHandler_JobTitle = Delete Markers
MarkerDeleteHandler_JobMessageLabel = Deleting selected markers 
	

FilteredResourcesSelectionDialog_showDerivedResourcesAction=Show &Derived Resources
FilteredResourcesSelectionDialog_groupResourcesWithSameUndelyingLocation=&Filter Duplicated Resources

ResourceSelectionDialog_label = Select a resource to open (? = any character, * = any string):
ResourceSelectionDialog_matching = &Matching resources:
ResourceSelectionDialog_folders = In &folders:
ResourceSelectionDialog_showDerived=Show &derived resources

OpenResourceDialog_title = Open Resource
OpenResourceDialog_openButton_text = Open
OpenResourceDialog_openWithButton_text=Open Wit&h
OpenResourceDialog_openWithMenu_label=Open Wit&h
OpenResourceDialog_showInButton_text=Sho&w In
OpenResourceDialog_showInMenu_label=Sho&w In

NewFolderDialog_title = New Folder
NewFolderDialog_nameLabel = &Folder name:
NewFolderDialog_alreadyExists = The folder ''{0}'' already exists.
NewFolderDialog_folderNameEmpty = Folder name must be specified
NewFolderDialog_progress = Creating new folder
NewFolderDialog_errorTitle = Creation Problems
NewFolderDialog_internalError = Internal error: {0}

CreateLinkedResourceGroup_linkFileButton = &Link to file in the file system
CreateLinkedResourceGroup_linkFolderButton = &Link to folder in the file system
CreateLinkedResourceGroup_browseButton = Bro&wse...
CreateLinkedResourceGroup_variablesButton = &Variables...
CreateLinkedResourceGroup_resolvedPathLabel = Resolved location:
CreateLinkedResourceGroup_targetSelectionLabel = Select the link target.
CreateLinkedResourceGroup_targetSelectionTitle = Select Link Target
CreateLinkedResourceGroup_linkTargetNotFile = Link target must be a file.
CreateLinkedResourceGroup_linkTargetNotFolder = Link target must be a folder.
CreateLinkedResourceGroup_linkTargetNonExistent = Link target does not exist.
CreateLinkedResourceGroup_unableToValidateLinkTarget = Unable to validate link target.
CreateLinkedResourceGroup_linkRequiredUnderAGroup= Only linked resources and other virtual folders can be created under a virtual folder.

PathVariablesBlock_variablesLabel = &Defined path variables:
PathVariablesBlock_variablesLabelForResource = &Defined path variables for resource ''{0}'':
PathVariablesBlock_addVariableButton = &New...
PathVariablesBlock_editVariableButton = Edi&t...
PathVariablesBlock_removeVariableButton = &Remove
PathVariablesBlock_nameColumn=Name
PathVariablesBlock_valueColumn=Value

ResourceFilterEditDialog_title=Edit Resource Filters

PathVariableSelectionDialog_title = Select Path Variable
PathVariableSelectionDialog_extendButton = &Extend...
PathVariableSelectionDialog_ExtensionDialog_title = Variable Extension
PathVariableSelectionDialog_ExtensionDialog_description = Choose extension to {0}

ImportTypeDialog_title=File and Folder Operation
ImportTypeDialog_titleFilesOnly= File Operation
ImportTypeDialog_titleFilesLinking= Link Files
ImportTypeDialog_question=Select how files and folders should be imported into the project:
ImportTypeDialog_questionFilesOnly=Select how files should be imported into the project:
ImportTypeDialog_moveFilesAndDirectories=&Move files and folders
ImportTypeDialog_copyFilesAndDirectories=&Copy files and folders 
ImportTypeDialog_moveFiles=&Move files
ImportTypeDialog_copyFiles=&Copy files
ImportTypeDialog_recreateFilesAndDirectories=Link to files and recreate folder structure with &virtual folders
ImportTypeDialog_createLinks=&Link to files and folders
ImportTypeDialog_linkFiles=&Link to files
ImportTypeDialog_importElementsAs=Create link locations &relative to:
ImportTypeDialog_importElementsAsTooltip=Link locations will be absolute path locations, rather than relative to a path variable
ImportTypeDialog_importElementsAsTooltipSet=Link locations will be relative to a path variable, rather than absolute path locations
ImportTypeDialog_editVariables=Edit Variables...
ImportTypeDialog_alwaysPerformThisOperation=&Always perform the selected operation
ImportTypeDialog_configureSettings=<a>Configure Drag and Drop Settings...</a>
# ==============================================================================
# Editor Framework
# ==============================================================================
EditorManager_saveResourcesMessage = Select the &resources to save:
EditorManager_saveResourcesTitle = Save Resources

OpenSystemEditorAction_dialogTitle = Problems Opening System Editor
OpenSystemEditorAction_text = &System Editor
OpenSystemEditorAction_toolTip = Edit File with System Editor

# ==============================================================================
# Workspace
# ==============================================================================
WorkspaceAction_problemsTitle = Problems
WorkspaceAction_logTitle = Exception in {0}. run: {1}
WorkbenchAction_problemsMessage = The following problems occurred.
WorkbenchAction_internalError = Internal error.
Workspace = Workspace


# ==============================================================================
# Workbench
# ==============================================================================
WorkbenchWindow_shellTitle = {0} - {1}

Internal_error = Internal error
InternalError = Internal Error
InternalErrorNoArg = An internal error has occurred.\nSee the .log file for more details.\n\nDo you want to exit the workbench?
InternalErrorOneArg = An internal error has occurred.\n{0}\nSee the .log file for more details.\n\nDo you want to exit the workbench?

FatalError_RecursiveError = An internal error occurred while showing an internal error.
FatalError_OutOfMemoryError = An out of memory error has occurred. Consult the "Running Eclipse" section of the read me file for information on preventing this kind of error in the future.
FatalError_StackOverflowError = A stack overflow error has occurred.
FatalError_VirtualMachineError = A virtual machine error has occurred.
FatalError_SWTError = An SWT error has occurred.
FatalError = {0}\nYou are recommended to exit the workbench.\nSubsequent errors may happen and may terminate the workbench without warning.\nSee the .log file for more details.\n\nDo you want to exit the workbench?

ProblemSavingWorkbench = Problems occurred while trying to save the state of the workbench.
ProblemsSavingWorkspace = Problems saving workspace

Problems_Opening_Page = Problems Opening Page

Workspace_refreshing = Refreshing workspace

IDEExceptionHandler_ExceptionHandledMessage = Exception Handler Notified


# ==============================================================================
# Keys with references but don't show in the UI
# ==============================================================================
CreateFileAction_text = New &File
CreateFileAction_toolTip = Create New File
CreateFileAction_title = New

CreateFolderAction_text = New F&older
CreateFolderAction_toolTip = Create New Folder
CreateFolderAction_title = New

ScrubLocalAction_problemsMessage = Problems occurred removing the local contents of the selected resources.
ScrubLocalAction_text = Discard &Local Copy
ScrubLocalAction_toolTip = Discard Local Contents
ScrubLocalAction_problemsTitle = Content Removal Problems
ScrubLocalAction_progress = Discarding content...
ShowInSystemExplorerHandler_commandUnavailable=System Explorer command unavailable.  Please set the System Explorer command in the workspace preferences.
ShowInSystemExplorerHandler_notDetermineLocation=Could not determine resource's location.
ShowInSystemExplorerHandler_jobTitle="Opening System Explorer..."

TextAction_selectAll = Select All
Cut = Cut
Copy = Copy
Paste = Paste
Delete = Delete

# ==============================================================================
# Keys used in the reuse editor which is released as experimental.
# ==============================================================================
WorkbenchPreference_saveInterval=&Workspace save interval (in minutes):
WorkbenchPreference_saveIntervalError=The workspace save interval should be between 1 and {0}.

# ==============================================================================
# Working Set Framework.
# ==============================================================================
ResourceWorkingSetPage_title=Resource Working Set
ResourceWorkingSetPage_description=Enter a working set name and select the working set resources.
ResourceWorkingSetPage_message=&Working set name:
ResourceWorkingSetPage_label_tree=Working set &contents:
ResourceWorkingSetPage_warning_nameMustNotBeEmpty= The name must not be empty.
ResourceWorkingSetPage_warning_nameWhitespace= The name must not have a leading or trailing whitespace.
ResourceWorkingSetPage_warning_workingSetExists= A working set with the same name already exists.
ResourceWorkingSetPage_warning_resourceMustBeChecked= No resources selected.
ResourceWorkingSetPage_error= Error
ResourceWorkingSetPage_error_updateCheckedState= Error during update of checked state
ResourceWorkingSetPage_selectAll_label=Select &All
ResourceWorkingSetPage_selectAll_toolTip=Select all of theses resource for this working set.
ResourceWorkingSetPage_deselectAll_label=Dese&lect All
ResourceWorkingSetPage_deselectAll_toolTip=Deselect all of these resources for this working set.

ResourceEncodingFieldEditor_ErrorLoadingMessage=Error loading encoding
ResourceEncodingFieldEditor_ErrorStoringMessage=Error storing encoding
ResourceEncodingFieldEditor_EncodingConflictTitle=Conflict in Encoding
ResourceEncodingFieldEditor_EncodingConflictMessage= {0} conflicts with the encoding defined in the content type ({1}). Do you wish to set it anyways?
ResourceEncodingFieldEditor_SeparateDerivedEncodingsLabel=&Store the encoding of derived resources separately

ChooseWorkspaceDialog_dialogName=Eclipse Launcher
ChooseWorkspaceDialog_dialogTitle=Select a directory
ChooseWorkspaceDialog_dialogMessage= \
{0} stores your data in a directory called a workspace. Please select one.
ChooseWorkspaceDialog_defaultProductName = This product
ChooseWorkspaceDialog_workspaceEntryLabel=&Directory:
ChooseWorkspaceDialog_browseLabel=&Browse...
ChooseWorkspaceDialog_directoryBrowserTitle=Select Workspace Directory
ChooseWorkspaceDialog_directoryBrowserMessage=Select the workspace directory to use.
ChooseWorkspaceDialog_useDefaultMessage=&Use this as the default and do not ask again

ChooseWorkspaceWithSettingsDialog_SettingsGroupName=&Copy Settings
ChooseWorkspaceWithSettingsDialog_ProblemsTransferTitle=Problems Transferring Settings
ChooseWorkspaceWithSettingsDialog_TransferFailedMessage=Settings transfer failed
ChooseWorkspaceWithSettingsDialog_SaveSettingsFailed=Could not save settings
ChooseWorkspaceWithSettingsDialog_ClassCreationFailed= Could not instantiate {0}


IDEApplication_workspaceMandatoryTitle=Workspace is Mandatory
IDEApplication_workspaceMandatoryMessage=IDEs need a valid workspace. Restart without the @none option.
IDEApplication_workspaceInUseTitle=Workspace Unavailable
IDEApplication_workspaceInUseMessage=The default workspace ''{0}'' is in use or cannot be created. Please choose a different one.
IDEApplication_workspaceEmptyTitle=Workspace Required
IDEApplication_workspaceEmptyMessage=Workspace field must not be empty; enter a path to continue.
IDEApplication_workspaceInvalidTitle=Invalid Workspace
IDEApplication_workspaceInvalidMessage=Selected workspace is not valid; choose a different one.
IDEApplication_workspaceCannotBeSetTitle=Workspace Cannot Be Created
IDEApplication_workspaceCannotBeSetMessage=Could not launch the product because the specified workspace cannot be created.  The specified workspace directory is either invalid or read-only.
IDEApplication_workspaceCannotLockTitle=Workspace Cannot Be Locked
IDEApplication_workspaceCannotLockMessage=Could not launch the product because the associated workspace at ''{0}'' is currently in use by another Eclipse application.
IDEApplication_versionTitle_olderWorkspace=Older Workspace Version
IDEApplication_versionTitle_newerWorkspace=Newer Workspace Version
IDEApplication_versionMessage_olderWorkspace=Workspace ''{0}'' was written with an older version of the product and will be updated. \
Updating the workspace can make it incompatible with older versions of the product.\n\nAre you sure you want to continue with this workspace?
IDEApplication_versionMessage_newerWorkspace=Workspace ''{0}'' was written with a newer version of the product and can be incompatible with this version. \
If you continue, this can cause unexpected behavior or data loss.\n\nAre you sure you want to continue with this workspace?
IDEApplication_version_doNotWarnAgain=&Do not warn again about workspace versions

CleanDialog_buildCleanAuto=Clean will discard all build problems and built states.  The projects will be rebuilt from scratch.
CleanDialog_buildCleanManual=Clean will discard all build problems and built states.  The next time a build occurs the projects will be rebuilt from scratch.
CleanDialog_title=Clean
CleanDialog_cleanAllButton=Clean &all projects
CleanDialog_cleanSelectedButton=Clean projects &selected below
CleanDialog_buildNowButton=Start a &build immediately
CleanDialog_globalBuildButton=Build the entire &workspace
CleanDialog_buildSelectedProjectsButton=Build only the selected &projects
CleanDialog_cleanSelectedTaskName=Cleaning selected projects
CleanDialog_cleanAllTaskName=Cleaning all projects
IDEEncoding_EncodingJob=Setting encoding
IDEEditorsPreferencePage_WorkbenchPreference_FileEditorsRelatedLink=See <a>''{0}''</a> for associating editors with file types.
IDEEditorsPreferencePage_WorkbenchPreference_viewsRelatedLink = See <a>''{0}''</a> for appearance preferences.
IDEEditorsPreferencePage_WorkbenchPreference_contentTypesRelatedLink = See <a>''{0}''</a> for content-type based file associations.
WorkbenchEncoding_invalidCharset = {0} is not a valid charset.
IDE_areYouSure={0} Are you sure you want to continue?

SystemSettingsChange_title = High Contrast Mode Change
SystemSettingsChange_message = The high contrast mode has changed. You will need to restart the workbench to complete the change.  Restart now?
SystemSettingsChange_yes = Yes
SystemSettingsChange_no = No

UnsupportedVM_message=GCJ has been detected as the current Java virtual machine.  Use of GCJ is untested and unsupported.  Please consult the documentation for more information.
IDEWorkbenchActivityHelper_jobName=Update Capability Enablement for Natures

OpenDelayedFileAction_title = Open File
OpenDelayedFileAction_message_errorOnOpen = The file ''{0}'' could not be opened.\nSee log for details.
OpenDelayedFileAction_message_fileNotFound= The file ''{0}'' could not be found.
OpenDelayedFileAction_message_noWindow= The file ''{0}'' could not be opened.\nPlease make sure there is at least one open perspective.

editorAssociationOverride_error_couldNotCreate_message=The ''{0}'' extension from plug-in ''{1}'' to the ''org.eclipse.ui.ide.editorAssociationOverride'' extension point failed to load the editor association override class.
editorAssociationOverride_error_invalidElementName_message=An extension from plug-in ''{0}'' to the ''org.eclipse.ui.ide.editorAssociationOverride'' extension point was ignored because it contains the following invalid element: ''{1}''.
editorAssociationOverride_error_invalidExtension_message=The ''{0}'' extension from plug-in ''{1}'' to the ''org.eclipse.ui.ide.editorAssociationOverride'' extension point will be ignored because it contains invalid attributes.
