###############################################################################
# Copyright (c) 2000, 2020 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     Sebastian Davids (sdavids@gmx.de)
#        - Fix for Bug 57087
#        - Fix for Bug 138034 [Preferences] Label decorations page - extra space
#        - Fix for Bug 128529
#     Semion Chichelnitsky (semion@il.ibm.com) - bug 278064
#     Tristan Hume - <trishume@gmail.com> -
#     		Fix for Bug 2369 [Workbench] Would like to be able to save workspace without exiting
#     		Implemented workbench auto-save to correctly restore state in case of crash.
#     Andrey Loskutov <loskutov@gmx.de> - Bug 445538
#     Alain Bernard <alain.bernard1224@gmail.com> - Bug 281490
#     Lars Vogel <Lars.Vogel@vogella.com> - Bug 407432
#     Patrik Suzzi <psuzzi@itemis.com> - Bug 491572, 491785, 501811, 511198, 529885
#     Kaloyan Raev <kaloyan.r@zend.com> - Bug 322002
#     Lucas Bullen (Red Hat Inc.) - Bug 500051, 530654
###############################################################################

# package: org.eclipse.ui

PlatformUI_NoWorkbench = Workbench has not been created yet.

Workbench_CreatingWorkbenchTwice = Workbench already exists and cannot be created again.

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

# --- File Menu ---
NewWizardAction_text = &Other...
NewWizardAction_toolTip = New
CloseAllAction_text = C&lose All Editors
CloseAllAction_toolTip = Close All Editors
CloseOthersAction_text = Close O&thers
CloseOthersAction_toolTip = Close Others
CloseAllSavedAction_text = Cl&ose All Saved
CloseAllSavedAction_toolTip = Close All Saved
CloseEditorAction_text = &Close Editor
CloseEditorAction_toolTip = Close Editor
NewEditorAction_text=New &Editor
NewEditorAction_tooltip=New Editor
SaveAction_text = &Save
SaveAction_toolTip = Save
SaveAs_text = Save &As...
SaveAs_toolTip = Save As
SaveAll_text = Sav&e All
SaveAll_toolTip = Save All
Workbench_revert = Rever&t
Workbench_revertToolTip = Revert
Workbench_missingPropertyMessage=Unable to relaunch the platform with the current workspace because the ''{0}'' property has not been set.
Workbench_move = Mo&ve...
Workbench_moveToolTip = Move
Workbench_rename = Rena&me...
Workbench_renameToolTip = Rename
Workbench_refresh = Re&fresh
Workbench_refreshToolTip = Refresh
Workbench_properties = P&roperties
Workbench_propertiesToolTip = Properties
Workbench_print = &Print...
Workbench_printToolTip = Print
ExportResourcesAction_text = E&xport...
ExportResourcesAction_fileMenuText = Exp&ort...
ExportResourcesAction_toolTip = Export
ImportResourcesAction_text = &Import...
ImportResourcesAction_toolTip = Import
OpenRecentDocumentsClear_text = Clear History
OpenRecentDocuments_text = Recent &Files
OpenRecent_errorTitle = Problems opening editor
OpenRecent_unableToOpen = Unable to open ''{0}''.
Exit_text = E&xit
Exit_toolTip = Exit Workbench


# --- Edit Menu ---
Workbench_undo = &Undo
Workbench_undoToolTip = Undo
Workbench_redo = &Redo
Workbench_redoToolTip = Redo
Workbench_cut = Cu&t
Workbench_cutToolTip = Cut
Workbench_copy = &Copy
Workbench_copyToolTip = Copy
Workbench_paste = &Paste
Workbench_pasteToolTip = Paste
Workbench_delete = &Delete
Workbench_deleteToolTip = Delete
Workbench_selectAll = Select &All
Workbench_selectAllToolTip = Select All
Workbench_findReplace = &Find/Replace...
Workbench_findReplaceToolTip = Find/Replace

# --- Navigate Menu ---
Workbench_goInto = Go &Into
Workbench_goIntoToolTip = Go Into
Workbench_back = &Back
Workbench_backToolTip = Back
Workbench_forward = &Forward
Workbench_forwardToolTip = Forward
Workbench_up = &Up One Level
Workbench_upToolTip = Up
Workbench_next = Ne&xt
Workbench_nextToolTip = Next
Workbench_previous = Pre&vious
Workbench_previousToolTip = Previous

NavigationHistoryAction_forward_text=&Forward
NavigationHistoryAction_forward_toolTip=Forward
NavigationHistoryAction_backward_text=&Back
NavigationHistoryAction_backward_toolTip=Back
NavigationHistoryAction_forward_toolTipName=Forward to {0}
NavigationHistoryAction_backward_toolTipName=Back to {0}
NavigationHistoryAction_locations = {0} ({1} locations)

Workbench_showInNoTargets = <No Applicable Views>
Workbench_showInNoPerspectives = <No Applicable Perspectives>
Workbench_noApplicableItems = <No Applicable Items>

OpenPreferences_text = &Preferences
OpenPreferences_toolTip = Preferences

# --- Window Menu ---
PerspectiveMenu_otherItem = &Other...
SelectPerspective_shellTitle = Open Perspective
SelectPerspective_selectPerspectiveHelp = Use F2 to display the description for a selected perspective.
SelectPerspective_noDesc = No description available.
SelectPerspective_open_button_label=&Open
Workbench_showPerspectiveError = Problems opening perspective ''{0}''
ChangeToPerspectiveMenu_errorTitle = Problems Changing Perspective

ShowView_title = &Other...
ShowView_shellTitle = Show View
ShowView_selectViewHelp = Use F2 to display the description for a selected view.
ShowView_noDesc = No description available.
ShowView_open_button_label=&Open

ToggleEditor_hideEditors = Hide &Editors
ToggleEditor_showEditors = Show &Editors
ToggleEditor_toolTip = Hide/Show Editors

LockToolBarAction_toolTip = Toggle Lock Toolbars

# --- Customize Perspective Dialog ---

CustomizePerspectiveDialog_okButtonLabel = &Apply and Close
EditActionSetsAction_text = Customi&ze Perspective...
EditActionSetsAction_toolTip = Customize Perspective
ActionSetSelection_customize = Customize Perspective - {0}
ActionSetDialogInput_viewCategory = Show View
ActionSetDialogInput_perspectiveCategory = Open Perspective
ActionSetDialogInput_wizardCategory = New

Shortcuts_shortcutTab = Shortcuts
Shortcuts_selectShortcutsLabel = Select the shortcuts that you want to see added as cascade items to the following submenus. The selections made will only affect the current perspective ({0}).
Shortcuts_availableMenus = &Submenus:
Shortcuts_availableCategories = Shortcut &Categories:
Shortcuts_allShortcuts = S&hortcuts:

ActionSetSelection_actionSetsTab = Action Set Availability
ActionSetSelection_selectActionSetsLabel = Select the action sets that you want to see added to the current perspective ({0}). The details field identifies which menu items and/or toolbar items are added to the perspective by the selected action set.
ActionSetSelection_availableActionSets = Available &action sets:
ActionSetSelection_menubarActions = &Menubar details:
ActionSetSelection_toolbarActions = &Toolbar details:
ActionSetSelection_descriptionColumnHeader = Description
ActionSetSelection_menuColumnHeader = Shortcut

HideItems_itemInActionSet = Contributed by the <a>''{0}'' action set</a>.
HideItems_itemInUnavailableActionSet = This item cannot be made visible because the <a>action set ''{0}''</a> which contributes it is unavailable.
HideItems_itemInUnavailableCommand = This command cannot be made visible in this dialog.
HideItems_unavailableChildCommandGroup = This item cannot be made visible because all of its children are in the unavailable <a href="{0}">action set ''{1}''</a>.
HideItems_unavailableChildCommandGroups = This item cannot be made visible because all of its children are in unavailable action sets: {0}
HideItems_keyBindings = Key bindings: <a>{0}</a>.
HideItems_keyBindingsActionSetUnavailable = Key bindings (cannot be used because action set is unavailable): <a>{0}</a>
HideItems_noKeyBindings = No <a>key bindings</a>
HideItems_noKeyBindingsActionSetUnavailable = No key bindings (to edit, make action set available).
HideItems_commandGroupTitle = &Action Sets:
HideItems_turnOnActionSets = &Filter by action set


HideItems_dynamicItemName = [Dynamic]
HideItems_dynamicItemDescription = The labels and number of menu items contributed by this dynamic entry are variable.
HideItems_dynamicItemList = The items which are currently being displayed are:
HideItems_dynamicItemEmptyList = There are no items which are currently being displayed.

HideItemsCannotMakeVisible_dialogTitle = Make Item Visible
HideItemsCannotMakeVisible_unavailableCommandGroupText = ''{0}'' cannot be made visible because it is in the unavailable ''{1}'' action set.
HideItemsCannotMakeVisible_unavailableCommandItemText = ''{0}'' command cannot be made visible in this dialog.
HideItemsCannotMakeVisible_switchToCommandGroupTab = Would you like to switch to the Action Set Availability tab?
HideItemsCannotMakeVisible_unavailableChildrenText = ''{0}'' cannot be made visible because all of its children are in unavailable action sets.

HideMenuItems_menuItemsTab = Menu Visibility
HideMenuItems_chooseMenuItemsLabel = Choose which menu items to display.
HideMenuItems_menuStructure = &Menu Structure:

HideToolBarItems_toolBarItemsTab = Toolbar Visibility
HideToolBarItems_chooseToolBarItemsLabel = Choose which toolbar items to display.
HideToolBarItems_toolBarStructure = &Toolbar Structure:

SavePerspective_text = Save Perspective &As...
SavePerspective_toolTip = Save Perspective As
SavePerspective_shellTitle = Save Perspective As...
SavePerspective_saveButtonLabel = &Save
SavePerspectiveDialog_description = Enter or select a name to save the current\nperspective as.
SavePerspective_name = &Name:
SavePerspective_existing = &Existing Perspectives:
SavePerspective_overwriteTitle = Overwrite Perspective
SavePerspective_overwriteQuestion = A perspective with the name ''{0}'' already exists. Do you want to overwrite?
SavePerspective_singletonQuestion = The current perspective can only be opened once and cannot be saved using a new name. Do you want to overwrite?
SavePerspective_errorTitle = Cannot Save Perspective
SavePerspective_errorMessage = Invalid Perspective Descriptor

ResetPerspective_text = &Reset Perspective...
ResetPerspective_toolTip = Reset Perspective
ResetPerspective_message = Reset the {0} perspective to its defaults?
ResetPerspective_title = Reset Perspective
ResetPerspective_buttonLabel= &Reset Perspective
RevertPerspective_note='Revert' removes the customization from the selected perspective.\nThis only applies to newly opened perspectives.

RevertPerspective_title = Reset Perspective
RevertPerspective_message = Reset the {0} perspective to its saved state?
RevertPerspective_option = &Also discard perspective's customization

ClosePerspectiveAction_text = &Close Perspective
ClosePerspectiveAction_toolTip = Close Perspective
CloseAllPerspectivesAction_text = Close A&ll Perspectives
CloseAllPerspectivesAction_toolTip = Close All Perspectives

OpenInNewWindowAction_text = Open in &New Window
OpenInNewWindowAction_toolTip = Open in New Window
OpenInNewWindowAction_errorTitle = Problems Opening New Window
CycleEditorAction_next_text = Next &Editor
CycleEditorAction_next_toolTip = Next Editor
CycleEditorAction_prev_text = P&revious Editor
CycleEditorAction_prev_toolTip = Previous Editor
CycleEditorAction_header=Editors
CyclePartAction_next_text = Next &View
CyclePartAction_next_toolTip = Next View
CyclePartAction_prev_text = Previ&ous View
CyclePartAction_prev_toolTip = Previous View
CyclePartAction_header = Views
CyclePartAction_editor = Editor
CyclePerspectiveAction_next_text = Next &Perspective
CyclePerspectiveAction_next_toolTip = Next Perspective
CyclePerspectiveAction_prev_text = Previo&us Perspective
CyclePerspectiveAction_prev_toolTip = Previous Perspective
CyclePerspectiveAction_header=Perspectives
ActivateEditorAction_text = &Activate Editor
ActivateEditorAction_toolTip = Activate Editor
MaximizePartAction_toolTip = Toggles Maximize/Restore State of Active View or Editor
MinimizePartAction_toolTip = Minimizes the Active View or Editor
# --- Filtered Table Base ---
FilteredTableBase_Filter=Filter


# --- Help Menu ---
AboutAction_text = &About {0}
AboutAction_toolTip = About {0}
HelpContentsAction_text = &Help Contents
HelpContentsAction_toolTip= Help Contents
HelpSearchAction_text = S&earch
HelpSearchAction_toolTip= Search Help
DynamicHelpAction_text = &Show Context Help
DynamicHelpAction_toolTip = Show Context Help
AboutDialog_shellTitle = About {0}
AboutDialog_defaultProductName =
AboutDialog_DetailsButton=&Installation Details
ProductInfoDialog_errorTitle = Problems Opening Link
ProductInfoDialog_unableToOpenWebBrowser = Unable to open web browser on {0}
PreferencesExportDialog_ErrorDialogTitle=Error
AboutPluginsDialog_shellTitle = About {0} Plug-ins
AboutPluginsDialog_pluginName = Plug-in Name
AboutPluginsDialog_pluginId = Plug-in Id
AboutPluginsDialog_version = Version
AboutPluginsDialog_provider = Provider
AboutPluginsDialog_signed = Signed
AboutPluginsDialog_state_installed = Installed
AboutPluginsDialog_state_resolved = Resolved
AboutPluginsDialog_state_starting = Starting
AboutPluginsDialog_state_stopping = Stopping
AboutPluginsDialog_state_uninstalled = Uninstalled
AboutPluginsDialog_state_active = Active
AboutPluginsDialog_state_unknown = Unknown State
AboutPluginsDialog_moreInfo = &Legal Info
AboutPluginsDialog_signingInfo_show = &Show Signing Info
AboutPluginsDialog_signingInfo_hide = &Hide Signing Info
AboutPluginsDialog_columns = C&olumns...
AboutPluginsDialog_errorTitle = Problems Opening File
AboutPluginsDialog_unableToOpenFile = Unable to find file {0} in plug-in {1}.
AboutPluginsDialog_filterTextMessage=type filter text
AboutPluginsPage_Load_Bundle_Data=Loading Bundle Data...
AboutFeaturesDialog_shellTitle = About {0} Features
AboutFeaturesDialog_featureName = Feature Name
AboutFeaturesDialog_featureId = Feature Id
AboutFeaturesDialog_version = Version
AboutFeaturesDialog_provider = Provider
AboutFeaturesDialog_moreInfo = &License
AboutFeaturesDialog_pluginsInfo = &Plug-in Details
AboutFeaturesDialog_columns = C&olumns...
AboutFeaturesDialog_noInformation = No further information is available for this feature.
AboutFeaturesDialog_pluginInfoTitle = Feature Plug-ins
AboutFeaturesDialog_pluginInfoMessage = Plug-ins contributed by feature: {0}
AboutFeaturesDialog_noInfoTitle = No Further Information
AboutFeaturesDialog_SimpleTitle=Features
AboutSystemDialog_browseErrorLogName = &View Error Log
AboutSystemDialog_copyToClipboardName = Copy &to Clipboard
AboutSystemDialog_noLogTitle = Error Log Not Found
AboutSystemDialog_noLogMessage = The error log was not found at {0}. No errors have been reported in this workspace.
AboutSystemPage_FetchJobTitle=Fetching configuration
AboutSystemPage_RetrievingSystemInfo=Retrieving system information...

#--- Coolbar ---
WorkbenchWindow_HelpToolbar = Help
WorkbenchWindow_FileToolbar = File
WorkbenchWindow_EditToolbar = Edit
WorkbenchWindow_NavigateToolbar = Navigate
WorkbenchWindow_searchCombo_toolTip = Enter help search expression and press Enter
WorkbenchWindow_searchCombo_text = Search help


WorkbenchWindow_close = &Close
WorkbenchPage_ErrorCreatingPerspective = Unable to create perspective ''{0}''. There is no corresponding perspective extension.

SelectWorkingSetAction_text= Select &Working Set...
SelectWorkingSetAction_toolTip= Select a working set
EditWorkingSetAction_text= &Edit Active Working Set...
EditWorkingSetAction_toolTip= Edit the active working set
EditWorkingSetAction_error_nowizard_title= Edit Working Set
EditWorkingSetAction_error_nowizard_message= Can not edit the active working set.
ClearWorkingSetAction_text= Deselect Wor&king Set
ClearWorkingSetAction_toolTip= Deselect the active working set
WindowWorkingSets= &Window Working Sets
NoWorkingSet = N&o Working Sets
SelectedWorkingSets = Se&lected Working Sets
NoApplicableWorkingSets = No applicable working sets

# ==============================================================================
# Drill Actions
# ==============================================================================
GoHome_text = Go &Home
GoHome_toolTip = Home
GoBack_text = Go &Back
GoBack_toolTip = Back
GoInto_text = Go &Into
GoInto_toolTip = Go Into


ICategory_other = Other
ICategory_general = General

# ==============================================================================
# Wizards
# ==============================================================================
NewWizard_title = Select a wizard
NewWorkingSet=New Working Set
NewWizardNewPage_description = The following resource creation wizards are available.
NewWizardNewPage_wizardsLabel = &Wizards:
NewWizardNewPage_showAll = &Show All Wizards.
WizardList_description = The following wizards are available.
Select = Select
NewWizardSelectionPage_description = Select a wizard
NewWizardShortcutAction_errorTitle = Problem Opening Wizard
NewWizardShortcutAction_errorMessage = The selected wizard could not be started.

NewWizardsRegistryReader_otherCategory = Other
NewWizardDropDown_text = &New Wizards

WizardHandler_menuLabel = {0}...
WorkbenchWizard_errorMessage = The selected wizard could not be started.
WorkbenchWizard_errorTitle = Problem Opening Wizard
WizardTransferPage_selectAll = &Select All
WizardTransferPage_deselectAll = &Deselect All
TypesFiltering_title = Select Types
TypesFiltering_message = Reduce selection to only files of &type(s):
TypesFiltering_otherExtensions = &Other extensions:
TypesFiltering_typeDelimiter = ,

# --- Import/Export ---
ImportExportPage_chooseImportWizard=Choose import wizard.
ImportExportPage_chooseExportWizard=Choose export wizard.

# --- Import ---
ImportWizard_title = Import
ImportWizard_selectWizard=&Select an import wizard:

# --- Export ---
ExportWizard_title = Export
ExportWizard_selectWizard=&Select an export wizard:
# --- New Project ---
NewProject_title = New Project

# ==============================================================================
# Preference Pages
# ==============================================================================
PreferenceNode_errorMessage = Unable to create the selected preference page.
PreferenceNode_NotFound = {0} not found
Preference_note = Note:
Preference_import = Import
Preference_export = Export

PreferenceExportWarning_title = Possible Unapplied Changes
PreferenceExportWarning_message = If you changed preferences and want to export them, ensure you click 'Apply and Continue' before the export.
PreferenceExportWarning_continue = &Continue
PreferenceExportWarning_applyAndContinue = &Apply and Continue

# --- Workbench ---
WorkbenchPreference_allowInplaceEditingButton = Allow in-place &system editors
WorkbenchPreference_useIPersistableEditorButton = Restore &editor state on startup
WorkbenchPreference_promptWhenStillOpenButton = Pr&ompt to save on close even if still open elsewhere
WorkbenchPreference_stickyCycleButton = Keep &next/previous editor, view and perspectives dialog open
WorkbenchPreference_RunInBackgroundButton=Always r&un in background
WorkbenchPreference_RunInBackgroundToolTip=Run long operations in the background where possible
WorkbenchPreference_HeapStatusButton = Sho&w heap status
WorkbenchPreference_HeapStatusButtonToolTip = Show the heap status area on the bottom of the window


# --- Appearance ---
ViewsPreferencePage_Theme=&Theme:
ViewsPreference_currentTheme = &Color and font theme:
ViewsPreference_currentThemeFormat = {0} (current)
ViewsPreference_useRoundTabs=&Use round tabs
ViewsPreference_useColoredLabels = &Use mixed fonts and colors for labels
ViewsPreference_visibleTabs_description = Visible tabs on overflow:
ViewsPreference_enableMRU = Show &most recently used tabs
ToggleFullScreenMode_ActivationPopup_Description=You have gone full screen. Use the Toggle Full Screen command ({0}) to deactivate.
ToggleFullScreenMode_ActivationPopup_Description_NoKeybinding=You have gone full screen. Use the Toggle Full Screen command to deactivate.
ToggleFullScreenMode_ActivationPopup_DoNotShowAgain=Do not show again
# --- File Editors ---
FileEditorPreference_fileTypes = File &types:
FileEditorPreference_add = &Add...
FileEditorPreference_remove = &Remove
FileEditorPreference_associatedEditors = Associated &editors:
FileEditorPreference_addEditor = A&dd...
FileEditorPreference_removeEditor = Re&move
FileEditorPreference_default = De&fault
FileEditorPreference_existsTitle = File Type Exists
FileEditorPreference_existsMessage = An entry already exists for that file type
FileEditorPreference_defaultLabel = (default)
FileEditorPreference_contentTypesRelatedLink = See <a>''{0}''</a> for content-type based file associations.
FileEditorPreference_isLocked = {0} (locked by ''{1}'' content type)

FileExtension_extensionEmptyMessage = The file extension cannot be empty
FileExtension_fileNameInvalidMessage = The file name cannot include the wild card character (*) in the current location
FilteredPreferenceDialog_Key_Scrolling=Key &Scrolling
FilteredPreferenceDialog_PreferenceSaveFailed=Preferences save failed.
FilteredPreferenceDialog_Resize = &Resize tree
FilteredPreferenceDialog_FilterToolTip = Additional Dialog Actions

FileExtension_fileTypeMessage =  Enter file type to add: (*.doc or report.doc for example)
FileExtension_fileTypeLabel = File &type:
FileExtension_shellTitle = Add File Type
FileExtension_dialogTitle = Define a New File Type

Choose_the_editor_for_file = Choose the editor for files of type ({0})
EditorSelection_chooseAnEditor = Choose an editor:
EditorSelection_internal = &Internal editors
EditorSelection_external = &External programs
EditorSelection_rememberEditor = &Use this editor for all ''{0}'' files
EditorSelection_rememberType = Use it for &all ''*.{0}'' files
EditorSelection_browse = &Browse...
EditorSelection_title = Editor Selection

# --- Perspectives ---
OpenPerspectiveMode_optionsTitle = Open a new perspective
OpenPerspectiveMode_sameWindow = In the &same window
OpenPerspectiveMode_newWindow = In a &new window

PerspectivesPreference_MakeDefault = Ma&ke Default
PerspectivesPreference_MakeDefaultTip = Make the Current Selection the Default Perspective
PerspectivesPreference_Reset = &Revert
PerspectivesPreference_ResetTip = Reverts the Current Selection to its Original Value
PerspectivesPreference_Delete = D&elete
PerspectivesPreference_DeleteTip = Delete a User Defined Perspective
PerspectivesPreference_available = Available &perspectives:
PerspectivesPreference_defaultLabel = {0} (default)
PerspectivesPreference_perspectiveopen_title=Delete Perspective
PerspectivesPreference_perspectiveopen_message=Delete the ''{0}'' perspective? It has open instances.

PerspectiveLabelProvider_unknown = Unknown Element Type

OpenPerspectiveDialogAction_text=&Open Perspective...
OpenPerspectiveDialogAction_tooltip=Open Perspective

#---- General Preferences----
PreferencePage_noDescription = (No description available)
PreferencePageParameterValues_pageLabelSeparator = \ >\ 
ThemingEnabled = E&nable theming
ThemeChangeWarningText = Restart for the theme changes to take full effect?
ThemeChangeWarningTitle = Theme Changed 
# --- Workbench -----
WorkbenchPreference_openMode=Open mode
WorkbenchPreference_doubleClick=D&ouble click
WorkbenchPreference_singleClick=&Single click
WorkbenchPreference_singleClick_SelectOnHover=Select on &hover
WorkbenchPreference_singleClick_OpenAfterDelay=Open when using arrow &keys
WorkbenchPreference_noEffectOnAllViews=This preference may not take effect on all views
WorkbenchPreference_inlineRename=&Rename resource inline if available

# --- Globalization -----
GlobalizationPreference_nlExtensions=&Unicode locale extensions:
GlobalizationPreference_layoutDirection=&Graphical layout direction:
GlobalizationPreference_bidiSupport=&Enable bidirectional support
GlobalizationPreference_textDirection=&Text direction:
GlobalizationPreference_defaultDirection=OS Default
GlobalizationPreference_ltrDirection=Left to right
GlobalizationPreference_autoDirection=Contextual
GlobalizationPreference_rtlDirection=Right to left
GlobalizationPreference_restartWidget=A restart is required for these preferences to take full effect.

# --- Fonts ---
FontsPreference_useSystemFont=&Use System Font

# --- Decorators ---
DecoratorsPreferencePage_description = Descriptio&n:
DecoratorsPreferencePage_decoratorsLabel = Available &label decorations:
DecoratorsPreferencePage_explanation = Label decorations show extra information about an item on its label or icon. Select which additional decorations should be displayed.
DecoratorError = Exception in Decorator.
DecoratorWillBeDisabled = Exception in Decorator. The ''{0}'' decorator will be disabled.

# --- Startup preferences ---
StartupPreferencePage_label=&Plug-ins activated on startup:

# ==============================================================================
# Property Pages
# ==============================================================================
PropertyDialog_text = P&roperties
PropertyDialog_toolTip = Open Properties Dialog
PropertyDialog_messageTitle = Property Pages
PropertyDialog_noPropertyMessage = No property pages for {0}.
PropertyDialog_noPropertyMessageForUnknown = No property pages.
PropertyDialog_propertyMessage = Properties for {0}
PropertyPageNode_errorMessage = Unable to create the selected property page.

SystemInPlaceDescription_name = &In-Place Editor
SystemEditorDescription_name = &System Editor

# ==============================================================================
# Dialogs
# ==============================================================================
Error = Error
Information = Information
InstallationDialog_ShellTitle={0} Installation Details

Workbench_NeedsClose_Title = Restart Needed
Workbench_NeedsClose_Message = A required plug-in is no longer available and the Workbench needs to be restarted. You will be prompted to save if there is any unsaved work.

ErrorPreferencePage_errorMessage = An error has occurred when creating this preference page.

ListSelection_title = Selection Needed
ListSelection_message = Select the items:

SelectionDialog_selectLabel = &Select All
SelectionDialog_deselectLabel = &Deselect All

ElementTreeSelectionDialog_nothing_available=No entries available.

CheckedTreeSelectionDialog_nothing_available=No entries available.
CheckedTreeSelectionDialog_select_all=Select &All
CheckedTreeSelectionDialog_deselect_all=&Deselect All

# ==============================================================================
# Editor Framework
# ==============================================================================
EditorManager_saveResourcesMessage = Select the &resources to save:
EditorManager_saveResourcesOptionallyMessage = The following resources have been modified, but are still open elsewhere with identical changes. Closing will not lose those changes. Select the &resources to save now anyway:
EditorManager_saveResourcesTitle = Save Resources

# The parameter {0} stands for the status message

EditorManager_systemEditorError = System editor can only open file base resources.
EditorManager_siteIncorrect = Editor initialization failed: {0}. Site is incorrect.
EditorManager_unknownEditorIDMessage = Unable to open editor, unknown editor ID: ''{0}''
EditorManager_errorOpeningExternalEditor = Unable to open external editor {0} ({1}).
EditorManager_operationFailed = {0} Failed
EditorManager_saveChangesQuestion = Save ''{0}''?
EditorManager_saveChangesOptionallyQuestion = ''{0}'' has been modified, but is still open elsewhere with identical changes. Closing this will not lose those changes. Save anyway?
EditorManager_closeWithoutPromptingOption = Do not prompt to save on close when still open elsewhere
EditorManager_no_in_place_support=Unable to restore in-place editor. In-place support is missing.
EditorManager_no_input_factory_ID=No input factory ID found for editor id={0} name={1}
EditorManager_bad_element_factory=Cannot instantiate input element factory {0} for editor id={1} name={2}
EditorManager_no_persisted_state=No saved state can be found for editor id={0} name={1}
EditorManager_wrong_createElement_result=Factory {0} returned a result from createElement that is not an IEditorInput for editor id={1} name={2}
EditorManager_create_element_returned_null=Factory {0} returned null from createElement for editor id={1} name={2}
EditorManager_missing_editor_descriptor=No editor descriptor for id {0}
EditorManager_backgroundSaveJobName=Saving {0}
EditorManager_largeDocumentWarning= The document you are trying to open is large. This may affect the stability of the application. Opening with an external program is recommended.

LargeFileAssociation_Dialog_chooseEditorTitle=Select an editor with which to open the file ''{0}''
LargeFileAssociation_Dialog_rememberSelectedEditor=Use this editor for *.{0} files with size over {1} bytes
LargeFileAssociation_Dialog_configureFileAssociationsLink=<a>Configure large file associations</a>

ExternalEditor_errorMessage = Error opening external editor ({0}).
Save = Save
Save_Resource = Save Resource
Saving_Modifications = Saving modifications
Save_All = Save All
Dont_Save = Don't Save

SaveableHelper_Save = &Save
SaveableHelper_Cancel = Cancel
SaveableHelper_Dont_Save = Do&n't Save
SaveableHelper_Save_Selected = S&ave Selected
SaveableHelper_Save_n_of_m = S&ave {0} of {1}
SaveableHelper_Save_0_of_m = Don't S&ave

# ==============================================================================
# Perspective Framework
# ==============================================================================
OpenNewPageMenu_dialogTitle = Problems Opening Page
OpenNewPageMenu_unknownPageInput = Unknown Page Input

OpenNewWindowMenu_dialogTitle = Problems Opening Window
OpenNewWindowMenu_unknownInput = Unknown Window Input

OpenPerspectiveMenu_pageProblemsTitle = Problems Opening Perspective
OpenPerspectiveMenu_errorUnknownInput = Unknown Perspective Input

Perspective_localCopyLabel = <{0}>
WorkbenchPage_problemRestoringTitle = Restoring Problems

# ==============================================================================
# Views Framework
# ==============================================================================
ViewLabel_unknown = Unknown

# The parameter {0} stands for the status message
ViewFactory_initException = Could not create the view: {0}
ViewFactory_siteException = View initialization failed: {0}. Site is incorrect.

# The parameter {0} stands for the view ID
ViewFactory_couldNotCreate = Could not create view: {0}

# ==============================================================================
# Workbench
# ==============================================================================
WorkbenchPage_UnknownLabel = <Unknown Label>

# These four keys are marked as unused by the NLS search, but they are indirectly used
# and should be removed.

PartPane_sizeLeft=&Left
PartPane_sizeRight=&Right
PartPane_sizeTop=&Top
PartPane_sizeBottom=&Bottom

PluginAction_operationNotAvailableMessage = The chosen operation is not currently available.
PluginAction_disabledMessage = The chosen operation is not enabled.
ActionDescriptor_invalidLabel = Unknown Label

XMLMemento_parserConfigError = Internal XML parser configuration error.
XMLMemento_ioError = Could not read content of XML file.
XMLMemento_formatError = Could not parse content of XML file.
XMLMemento_noElement = Could not find root element node of XML file.

StatusUtil_errorOccurred = An unexpected exception was thrown.

# --- Workbench Errors/Problems ---
WorkbenchWindow_exceptionMessage = Abnormal Workbench Condition
WorkbenchPage_AbnormalWorkbenchCondition = Abnormal Workbench Condition
WorkbenchPage_IllegalSecondaryId = Illegal secondary id (cannot be empty or contain a colon)
WorkbenchPage_IllegalViewMode = Illegal view mode
WorkbenchPart_AutoTitleFormat={0} ({1})
AbstractWorkingSetManager_updatersActivating=Activating working set updaters for bundle {0}

DecoratorManager_ErrorActivatingDecorator = An error has occurred activating decorator {0}.

EditorRegistry_errorTitle = Load Problem
EditorRegistry_errorMessage = Unable to load editor associations.

ErrorClosing = An error has occurred when closing the workbench. See error log for more details.
ErrorClosingNoArg = An error has occurred. See error log for more details. Do you want to exit?
ErrorClosingOneArg = An error has occurred: {0}. See error log for more details. Do you want to exit?
ErrorLogUtil_ShowErrorLogHyperlink=<a>Show Error Log</a>
ErrorLogUtil_ShowErrorLogTooltip=Show the Error Log View
SavingProblem = Saving Problems

Problems_Opening_Page = Problems Opening Page

Startup_Loading=Starting {0}
Startup_Loading_Workbench=Loading Workbench

Workbench_problemsSavingMsg=Could not save workbench layout.
Workbench_problemsRestoring=Problems occurred restoring workbench.
Workbench_problemsSaving=Problems occurred saving workbench.
Workbench_problemsRestartErrorTitle = Missing System Property
Workbench_problemsRestartErrorMessage = Unable to relaunch the workbench because the {0} property has not been set.

PageLayout_missingRefPart=Referenced part does not exist yet: {0}.



# ==============================================================================
# Keys used in the reuse editor which is released as experimental.
# ==============================================================================
PinEditorAction_toolTip=Pin Editor
WorkbenchPreference_reuseEditors=&Close editors automatically
WorkbenchPreference_reuseEditorsThreshold=Number of opened editors before closi&ng:
WorkbenchPreference_reuseEditorsThresholdError=The number of opened editors should be more than 0.
WorkbenchPreference_recentFiles=Size of &recently opened files list:
WorkbenchPreference_recentFilesError=The size of the recently opened files list should be between 0 and {0}.
WorkbenchPreference_workbenchSaveInterval=Workbench save &interval (in minutes):
WorkbenchPreference_workbenchSaveIntervalError=The workbench save interval should be an integer between 0 and {0}.
WorkbenchEditorsAction_label=S&witch to Editor...
WorkbookEditorsAction_label=&Quick Switch Editor

WorkbenchEditorsDialog_title=Switch to Editor
WorkbenchEditorsDialog_label=Select an &editor to switch to:
WorkbenchEditorsDialog_closeSelected=&Close Selected Editors
WorkbenchEditorsDialog_saveSelected=&Save Selected Editors
WorkbenchEditorsDialog_selectClean=Se&lect Clean Editors
WorkbenchEditorsDialog_invertSelection=&Invert Selection
WorkbenchEditorsDialog_allSelection=Select &All
WorkbenchEditorsDialog_showAllPersp=Show editors from all &windows
WorkbenchEditorsDialog_name=Name
WorkbenchEditorsDialog_path=Path
WorkbenchEditorsDialog_activate=Ac&tivate Selected Editor
WorkbenchEditorsDialog_close=Close

ShowPartPaneMenuAction_text=Show &System Menu
ShowPartPaneMenuAction_toolTip=Show System Menu
ShowViewMenuAction_text=Show View &Menu
ShowViewMenuAction_toolTip=Show View Menu
QuickAccessAction_text=&Find Actions
QuickAccessAction_toolTip=Find command, view, editor...

ToggleCoolbarVisibilityAction_show_text = Show &Toolbar
ToggleCoolbarVisibilityAction_hide_text = Hide &Toolbar
ToggleStatusBarVisibilityAction_show_text = Show &Status Bar
ToggleStatusBarVisibilityAction_hide_text = Hide &Status Bar
ToggleCoolbarVisibilityAction_toolTip = Toggle the visibility of the window toolbar and perspective switcher
# ==============================================================================
# Working Set Framework.
# ==============================================================================
ProblemSavingWorkingSetState_message = Unable to store working set state.
ProblemSavingWorkingSetState_title = Saving Problems
ProblemRestoringWorkingSetState_message = Unable to restore working set state.
ProblemRestoringWorkingSetState_title = Restoring Problems
ProblemCyclicDependency = Removed cyclic dependency in the working set ''{0}''.

WorkingSetEditWizard_title=Edit Working Set
WorkingSetNewWizard_title=New Working Set

WorkingSetTypePage_description=Select a working set type
WorkingSetTypePage_typesLabel=&Working set type:

WorkingSetSelectionDialog_title= Select Working Set
WorkingSetSelectionDialog_title_multiSelect= Select Working Sets
WorkingSetSelectionDialog_message= Selec&t a working set:
WorkingSetSelectionDialog_message_multiSelect= &Select working sets:
WorkingSetSelectionDialog_detailsButton_label= &Edit...
WorkingSetSelectionDialog_newButton_label= &New...
WorkingSetSelectionDialog_removeButton_label= &Remove

WorkbenchPage_workingSet_default_label=Window Working Set
WorkbenchPage_workingSet_multi_label=Multiple Working Sets

# =================================================================
# System Summary
# =================================================================
SystemSummary_timeStamp= *** Date: {0}
SystemSummary_systemProperties= *** System properties:
SystemSummary_systemVariables= *** System environment variables:
SystemSummary_features= *** Features:
SystemSummary_pluginRegistry= *** Plug-in Registry:
SystemSummary_userPreferences= *** User Preferences:
SystemSummary_sectionTitle = *** {0}:
SystemSummary_sectionError = Could not write section, see error log.


# =================================================================
# Editor List
# =================================================================
DecorationScheduler_UpdateJobName=Update for Decoration Completion
DecorationScheduler_CalculationJobName=Decoration Calculation
DecorationScheduler_UpdatingTask=Updating
DecorationScheduler_CalculatingTask=Calculating Decorations
DecorationScheduler_ClearResultsJob=Clear Results
DecorationScheduler_DecoratingSubtask=Decorating {0}

PerspectiveBar_showText=Show &Text
PerspectiveBar_customize=Customi&ze...
PerspectiveBar_saveAs= Save &As...
PerspectiveBar_reset= &Reset

WorkbenchPlugin_extension=Cannot create extension

EventLoopProgressMonitor_OpenDialogJobName=Open Blocked Dialog
DecorationReference_EmptyReference=Decorating
FilteredList_UpdateJobName=Table Update
FilteredTree_ClearToolTip=Clear
FilteredTree_FilterMessage=type filter text
FilteredTree_FilteredDialogTitle={0} (Filtered)
FilteredTree_AccessibleListenerFiltered={0} {1} matches.
Workbench_startingPlugins = Starting plug-ins
ScopedPreferenceStore_DefaultAddedError=Do not add the default to the search contexts

WorkbenchEncoding_invalidCharset = {0} is not a valid charset.

#==============================================================
# Undo/Redo Support

################################################################################
#Operations_undoCommand and Operations_redoCommand are
#used to concatenate the Undo or Redo command with a specific
#operation name such as Delete Resources, Typing, Add Bookmark, etc.
#to result in a string such as "Undo Typing".
#The commmand should include the mnemonic character somewhere in the
#string.  {0} represents the operation to be undone or redone
################################################################################
Operations_undoCommand=&Undo {0}
Operations_redoCommand=&Redo {0}

################################################################################
#Operations_undoTooltipCommand and Operations_redoTooltipCommand are
#used to concatenate the Undo or Redo command with a specific
#operation name such as Delete Resources, Typing, Add Bookmark, etc.
#to result in a string such as "Undo Typing".
#The commmand should NOT include the mnemonic character.
################################################################################
Operations_undoTooltipCommand=Undo {0}
Operations_redoTooltipCommand=Redo {0}

################################################################################
#Operations_undoRedoCommandDisabled is used when no undo or redo
#operation is available.  {0} represents "Undo" or "Redo"
################################################################################
Operations_undoRedoCommandDisabled=Can''t {0}

Operations_undoProblem=Undo Problem
Operations_redoProblem=Redo Problem
Operations_executeProblem=Problem Executing Operation
Operations_undoInfo=Undo Information
Operations_redoInfo=Redo Information
Operations_executeInfo=Operation Information
Operations_undoWarning=Undo Warning
Operations_redoWarning=Redo Warning
Operations_executeWarning=Operation Warning
Operations_linearUndoViolation=There have been local changes in ''{0}'' since ''{1}'' was performed. These changes must be undone before proceeding. Proceed anyway?
Operations_linearRedoViolation=Local changes in ''{0}'' have been undone since ''{1}'' was undone. They must be redone before proceeding. Continue with redoing ''{1}''?
Operations_nonLocalUndoWarning=Undoing ''{0}'' affects elements outside of ''{1}''. Continue with undoing ''{0}''?
Operations_nonLocalRedoWarning=Redoing ''{0}'' affects elements outside of ''{1}''. Continue with redoing ''{0}''?
Operations_discardUndo=&Discard Undo
Operations_discardRedo=&Discard Redo
Operations_proceedWithNonOKUndoStatus={0}\nProceed with undoing ''{1}'' anyway?
Operations_proceedWithNonOKRedoStatus={0}\nProceed with redoing ''{1}'' anyway?
Operations_proceedWithNonOKExecuteStatus={0}\nProceed with executing ''{1}'' anyway?
Operations_stoppedOnUndoErrorStatus=''{1}'' cannot be undone.  \nReason: {0}
Operations_stoppedOnRedoErrorStatus=''{1}'' cannot be redone.  \nReason: {0}
Operations_stoppedOnExecuteErrorStatus=''{1}'' cannot be performed.  \nReason: {0}
#==============================================================
# Heap Status


HeapStatus_status={0} of {1}
HeapStatus_widthStr=MMMMMMMMMMMM
HeapStatus_memoryToolTip= Heap size: {0} of total: {1} max: {2} mark: {3}
HeapStatus_meg= {0}M
HeapStatus_maxUnknown= <unknown>
HeapStatus_noMark= <none>
HeapStatus_buttonToolTip= Run Garbage Collector
SetMarkAction_text=&Set Mark
ClearMarkAction_text=&Clear Mark
ShowMaxAction_text=Show &Max Heap
SplitValues_Horizontal=Horizontal
SplitValues_Vertical=Vertical
#ShowKyrsoftViewAction_text=Show &Kyrsoft Memory Monitor View
#ShowKyrsoftViewAction_KyrsoftNotInstalled=The Kyrsoft Memory Monitor plug-in is not installed.\n\
#  For more info, visit:\n\
#  http://www.kyrsoft.com/opentools/memmon.html\n\
#  http://eclipse-plugins.2y.net/eclipse/plugin_details.jsp?id=205
#ShowKyrsoftViewAction_OpenPerspectiveFirst=Please open a perspective first.
#ShowKyrsoftViewAction_ErrorShowingKyrsoftView=Error showing Kyrsoft Memory Monitor view.

#==============================================================
# Content Types
ContentTypes_lockedFormat = {0} (locked)
ContentTypes_characterSetLabel = Default &encoding:
ContentTypes_characterSetUpdateLabel = &Update
ContentTypes_unsupportedEncoding = The selected encoding is not supported.
ContentTypes_fileAssociationsLabel = &File associations:
ContentTypes_fileAssociationsAddLabel = &Add...
ContentTypes_fileAssociationsEditLabel = Ed&it...
ContentTypes_fileAssociationsRemoveLabel = &Remove
ContentTypes_contentTypesLabel = &Content types:
ContentTypes_errorDialogMessage = There was an error removing content type file association(s).
ContentTypes_FileEditorsRelatedLink=See <a>''{0}''</a> for associating editors with file types.
ContentTypes_addDialog_title=Add Content Type Association
ContentTypes_addDialog_messageHeader=Define New Content Type Association
ContentTypes_addDialog_message=Enter content type association to add: (*.doc or report.doc for example)
ContentTypes_addDialog_label=&Content type:

ContentTypes_editDialog_title=Edit Content Type Association
ContentTypes_editDialog_messageHeader=Edit Content Type Association
ContentTypes_editDialog_message=Edit content type association: (*.doc or report.doc for example)
ContentTypes_editDialog_label=Co&ntent type:
ContentTypes_addRootContentTypeButton=Add Roo&t...
ContentTypes_addChildContentTypeButton=Add C&hild...
ContentTypes_removeContentTypeButton=Re&move
ContentTypes_newContentTypeDialog_title=Create a new content-type
ContentTypes_newContentTypeDialog_descritption=Set initial attributes of a new content-type
ContentTypes_newContentTypeDialog_nameLabel=&Name:
ContentTypes_newContentTypeDialog_defaultNameNoParent=Custom Content-Type
ContentTypes_newContentTypeDialog_defaultNameWithParent=Custom Sub-type of {0}
ContentTypes_newContentTypeDialog_invalidContentTypeName=Invalid name for a content-type
ContentTypes_failedAtEditingContentTypes=Couldn't edit content-type registry
ContentTypes_editorAssociations=Associated editors:
ContentTypes_editorAssociationAddLabel=A&dd...
ContentTypes_editorAssociationRemoveLabel=Rem&ove


# =========================================================================
# Deprecated actions support
# =========================================================================
CommandService_AutogeneratedCategoryName = Uncategorized
CommandService_AutogeneratedCategoryDescription = Commands that were either auto-generated or have no category
LegacyActionPersistence_AutogeneratedCommandName = Legacy Action With No Label

Edit=&Edit...

#==============================================================
# FilteredItemsSelectionDialog
FilteredItemsSelectionDialog_menu = Menu
FilteredItemsSelectionDialog_refreshJob = Dialog refresh
FilteredItemsSelectionDialog_progressRefreshJob = Progress message refresh
FilteredItemsSelectionDialog_cacheRefreshJob = Cache refresh
FilteredItemsSelectionDialog_cacheRefreshJob_checkDuplicates = Checking for duplicates
FilteredItemsSelectionDialog_cacheRefreshJob_getFilteredElements = Get filtered elements
FilteredItemsSelectionDialog_cacheSearchJob_taskName = Searching in cache
FilteredItemsSelectionDialog_patternLabel = &Select an item to open (? = any character, * = any string):
FilteredItemsSelectionDialog_listLabel = &Matching items:
FilteredItemsSelectionDialog_searchJob_taskName = Searching
FilteredItemsSelectionDialog_toggleStatusAction = &Show Status Line
FilteredItemsSelectionDialog_removeItemsFromHistoryAction = &Remove from History
FilteredItemsSelectionDialog_separatorLabel = Workspace matches
FilteredItemsSelectionDialog_nItemsSelected = {0} items selected

FilteredItemsSelectionDialog_jobLabel=Items filtering
FilteredItemsSelectionDialog_jobError=Items filtering failed

FilteredItemsSelectionDialog_storeError=Storing the dialog failed
FilteredItemsSelectionDialog_restoreError=Restoring the dialog failed

FilteredItemsSelectionDialog_taskProgressMessage={0} ({1}%)
FilteredItemsSelectionDialog_subtaskProgressMessage={0}: {1}

#==============================================================
# Content Assist

# Content Assist cue strings
ContentAssist_Cue_Description_Key=Content Assist Available ({0})

#===============================================================
WorkbenchLayoutSettings_Name=Workbench Layout;
WorkbenchSettings_CouldNotCreateDirectories = Could not create workspace directories
WorkbenchSettings_CouldNotFindLocation=Could not find workbench settings location
WorkingSets_Name=Working Sets
WorkingSets_CannotSave=Cannot save working sets
WorkbenchPreferences_Name=Preferences
BundleSigningTray_Signing_Date=Signing Date:
BundleSigningTray_Working=Working...
BundleSigningTray_Signing_Certificate=Signing Certificate:
BundleSigningTray_SigningType=Signing Type:
BundleSigningTray_Cant_Find_Service=Could not find certificate service.
BundleSigningTray_Determine_Signer_For=Determine Signer for {0}
BundleSigningTray_Unsigned=Unsigned
BundleSigningTray_Unknown=Unknown
BundleSigningTray_Unget_Signing_Service=Return Signing Service
BundleSigningTray_X509Certificate=X.509 Certificate

# StatusDialog
WorkbenchStatusDialog_SupportTooltip=Get Support
WorkbenchStatusDialog_SupportHyperlink=<a>Get Support</a>
WorkbenchStatusDialog_StatusWithChildren=This status has children statuses. See 'Details' for more information.
WorkbenchStatusDialog_SeeDetails=See 'Details' for more information.
WorkbenchStatusDialog_MultipleProblemsHaveOccured=Multiple problems have occurred
WorkbenchStatusDialog_ProblemOccurred=A problem has occurred.
WorkbenchStatusDialog_ProblemOccurredInJob=''{0}'' has encountered a problem.
StackTraceSupportArea_CausedBy=Caused by:
StackTraceSupportArea_NoStackTrace=No stack trace found
StackTraceSupportArea_Title=Stacktrace:

# WorkingSetConfigurationBlock
WorkingSetConfigurationBlock_WorkingSetText_name=W&orking sets:
WorkingSetConfigurationBlock_SelectWorkingSet_button=S&elect...
WorkingSetConfigurationBlock_NewWorkingSet_button=Ne&w...

WorkingSetPropertyPage_ReadOnlyWorkingSet_description=This is a read-only working set. Its content can not be changed.
WorkingSetPropertyPage_ReadOnlyWorkingSet_title=Read-only Working Set

WorkingSetGroup_EnableWorkingSet_button=Add projec&t to working sets
WorkingSetGroup_WorkingSetSelection_message=The new project will be added to the selected working sets:
WorkingSetGroup_WorkingSets_group=Working sets

FilteredTableBaseHandler_Close=&Close

# ==============================================================================
# Util
# ==============================================================================
Util_List={0}, {1}

# Zoom change messages
Workbench_zoomChangedTitle=Zoom Changed
Workbench_zoomChangedMessage=Restart for the zoom changes to take full effect?
Workbench_RestartButton=&Restart
Workbench_DontRestartButton=&Don't restart
