###############################################################################
# Copyright (c) 2000, 2016 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
#     Remy Chi Jian Suen <remy.suen@gmail.com> - [KeyBindings] 'emacs' keyword should link to keys preference page
#     Robert Roth <robert.roth.off@gmail.com> - Bug 310491
#     Patrik Suzzi <psuzzi@gmail.com> - Bug 480102
#     Mickael Istria (Red Hat Inc.) - unassociated editor strategy + Bug 472614
#     Simon Scholz <simon.scholz@vogella.com> - Bug 486777
#     Axel Richard <axel.richard@obeo.fr> - Bug 486644
###############################################################################
Plugin.name = Eclipse IDE UI
Plugin.providerName = Eclipse.org

ExtPoint.markerHelp = Marker Help
ExtPoint.markerImageProviders = Marker Image Providers
ExtPoint.markerResolution = Marker Resolution
ExtPoint.projectNatureImages = Project Nature Images
ExtPoint.resourceFilters = Resource Filters
ExtPoint.markerSupport = Marker Support
ExtPoint.fileSystemSupport = File System Support
ExtPoint.editorAssociationOverride = Editor Association Override
ExtPoint.unassociatedEditorStrategy = Strategies to handle unassociated files

KeysPreference.Name = Keys Preferences
KeysPreference.Description = Preferences related to keys, accelerator key bindings, key configurations and commands.

Editors.WelcomeEditor = Welcome
ImportExportWizards.Category.Basic = General
ExportWizards.FileSystem = File System
ExportWizards.Preferences = Preferences
ExportWizards.ZipFile = Archive File
ExportWizards.FileSystemDescription = Export resources to the local file system.
ExportWizards.PreferencesDescription = Export preferences to the local file system.
ExportWizards.ZipFileDescription = Export resources to an archive file on the local file system.
ImportWizards.FileSystem = File System
ImportWizards.Preferences = Preferences
ImportWizards.ZipFile = Archive File
ImportWizards.ExternalProject = Existing Projects into Workspace
ImportWizards.FileSystemDescription = Import resources from the local file system into an existing project.
ImportWizards.PreferencesDescription = Import preferences from the local file system.
ImportWizards.ZipFileDescription = Import resources from an archive file into an existing project.
ImportWizards.ExternalProjectDescription = Create new projects from an archive file or directory. 
NewWizards.Category.Examples = Examples
NewWizards.Category.Basic = General
NewWizards.project = Project
NewWizards.project.description = Create a new project resource
NewWizards.folder = Folder
NewWizards.folder.description = Create a new folder resource
NewWizards.file = File
NewWizards.file.description = Create a new file resource

PreferencePages.Workbench = General
PreferencePages.Globalization = Globalization
PreferencePages.Editors = Editors
PreferencePages.AutoSave = Autosave
PreferencePages.LinkedResources = Linked Resources
PreferencePages.FileEditors = File Associations
PreferencePages.FileStates = Local History
PreferencePages.Perspectives = Perspectives
PreferencePages.Views = Appearance
PreferencePages.Workspace=Workspace
PreferencePages.BuildOrder = Build Order
PreferencePages.ColorsAndFonts = Colors and Fonts
PreferencePages.Decorators = Label Decorations
PreferencePages.NewKeys = Keys
PreferencePages.ContentTypes = Content Types
PropertyPages.project.reference = Project References
PropertyPages.resource.filters = Resource Filters
PropertyPages.info.file = Resource

Views.ResourceNavigator = Navigator
Views.Bookmark = Bookmarks
Views.Task = Tasks
Views.Problem = Problems
Views.AllMarkers = Markers
Views.Task.Old = Tasks (Legacy)
Views.Problem.Old = Problems (Legacy)
Views.Bookmark.Old = Bookmarks (Legacy)
Views.Progress = Progress

WorkingSets.resource = Resource
WorkingSets.resource.desc = A general purpose working set that can contain any type of file-based Eclipse resource.
NavigateActionSet.label = Resource Navigation
NavigateActionSet.description = Action set containing resource navigation actions

WindowWorkingSetsActionSet.label = Window Working Set
WindowWorkingSetsActionSet.description = Window working set manipulation actions

WorkingSetsActionSet.label = Working Set Manipulation
WorkingSetsActionSet.description = Actions set containing actions that add and remove from working sets

openFilesActionSet.label= Open Files
openLocalFile.label= Open File&...
openLocalFile.description= Opens a File

searchMenu.label= Se&arch
openQuickAccessActionSet.label= Quick Access search
openQuickAccess.label= Find &Commands...
openQuickAccess.description= Opens the Quick Access search

GoToResourceAction.label = &Resource...
DecoratorLinkedResource.label = Linked Resources
DecoratorLinkedResource.description = Adds an icon decoration to linked resources.
DecoratorSymlinkResource.label = Symbolic links
DecoratorSymlinkResource.description = Adds an icon decoration for symbolic links
DecoratorVirtualResource.label = Virtual Folders
DecoratorVirtualResource.description = Shows an icon for virtual folders. 
DecoratorSpecificContentType.label = File Icons Based On Content Analysis
DecoratorSpecificContentType.description = Displays an icon based on the examination of the contents of a file. This yields a more precise answer than one derived simply from the file name.
DecoratorSpecificResourceFilterType.label = Containers with Resource Filters
DecoratorSpecificResourceFilterType.description = Displays an icon based on the presence of resource filters on a container.
OpenWorkspaceFileAction.label = Open Reso&urce...
SelectWorkingSetsAction.label = &Working Sets
SelectWorkingSetsAction.tooltip = Modify window working set

AddToWorkingSetAction.label = Add To Working Se&t
AddToWorkingSetAction.tooltip = Add the selected elements to a working set
RemoveFromWorkingSetAction.label = Remove Fro&m Working Set
RemoveFromWorkingSetAction.tooltip = Remove the selected elements from a working set

About.updateSummaryTitle = Current Install Configuration

category.project.name=Project
category.project.description=

command.addTask.description = Add a task
command.addTask.name = Add Task...
command.addTask.mnemonic = T
command.buildAll.description = Build all projects
command.buildAll.name = Build All
command.buildClean.description = Discard old built state
command.buildClean.name = Build Clean
command.buildLast.description = Repeat the last working set build
command.buildLast.name = Repeat Working Set Build
command.buildProject.description = Build the selected project
command.buildProject.name = Build Project
command.buildAutomatically.description = Toggle the workspace build automatically function
command.buildAutomatically.name = Build Automatically
command.closeProject.description = Close the selected project
command.closeProject.name = Close Project
command.closeUnrelatedProjects.name = Close Unrelated Projects
command.closeUnrelatedProjects.description = Close unrelated projects
command.configureFilters.description = Configure the filters to apply to the markers view
command.configureFilters.name = Configure Contents...
command.configureFilters.mnemonic=C
command.configureColumns.description = Configure the columns in the markers view
command.configureColumns.name = Configure Columns...
command.configureColumns.mnemonic=l
command.correctionAssistProposals.description = Suggest possible fixes for a problem
command.correctionAssistProposals.name = Quick Fix
command.correctionAssistProposals.mnemonic = Q
command.deleteCompleted.description=Delete the tasks marked as completed
command.deleteCompleted.name= Delete Completed Tasks
command.deleteCompleted.mnemonic=T
command.goToResource.description = Go to a particular resource in the active view
command.goToResource.name = Go to
command.goToResource.mnemonic = &R
command.markCompleted.description=Mark the selected tasks as completed
command.markCompleted.name= Mark Completed
command.markCompleted.mnemonic=M
command.newMarkersView.openNew.description = Open another view
command.newMarkersView.openNew.name = Open Another
command.newMarkersView.openNew.mnemonic = N
command.openFile.description = Open a file
command.openFile.name = Open File...
command.openProject.description = Open a project
command.openProject.name = Open Project
command.openResource.description = Open an editor on a particular resource
command.openResource.name = Open Resource
command.openWorkspace.description = Open the workspace selection dialog
command.openWorkspace.name = Switch Workspace
command.preferences.label = Preferences
command.preferences.mnemonic = P
command.projectProperties.description = Display the properties of the selected item's project 
command.projectProperties.name = Properties
command.rebuildAll.description = Rebuild all projects
command.rebuildAll.name = Rebuild All
command.rebuildProject.description = Rebuild the selected projects
command.rebuildProject.name = Rebuild Project
command.selectWorkingSets.name = Select Working Sets
command.selectWorkingSets.description = Select the working sets that are applicable for this window.
command.addToWorkingSet.name = Add to Working Set
command.addToWorkingSet.description = Adds the selected object to a working set.
command.removeFromWorkingSet.name = Remove From Working Set
command.removeFromWorkingSet.description = Removes the selected object from a working set.
command.copyBuildIdCommand.name=Copy Build Id To Clipboard
command.copyBuildIdCommand.description=Copies the build id to the clipboard.
command.copyConfigCommand.name=Copy Configuration Data To Clipboard
command.copyConfigCommand.description=Copies the configuration data (system properties, installed bundles, etc) to the clipboard.



command.showInQuickMenu.name= Show In...
command.showInQuickMenu.description = Open the Show In menu
command.showInQuickMenu.mnemonic = S

command.newQuickMenu.name= New menu
command.newQuickMenu.description= Open the New menu

commandParameter.openFileByPath.filePath.name= File Path
command.showResourceByPath.name= Show Resource in Navigator
command.showResourceByPath.description= Show a resource in the Navigator given its path
commandParameter.showResourceByPath.resourcePath.name= Resource Path
commandParameter.resourceSystemPath = Resource System Path Parameter

command.showInSystemExplorer.name = Show In (System Explorer)
command.showInSystemExplorer.menu.name = System Explorer
command.showInSystemExplorer.menu.mnemonic = x
command.showInSystemExplorer.description = Show in system's explorer (file manager)

KeyBindingActionSet.label = Keyboard Shortcuts
KeyBindingActionSet.showKeyAssist.label = Show Active Keybindings...

PreferenceKeywords.TextFont = text font
PreferenceKeywords.TextEditorFont = text editor font
PreferenceKeywords.EditorFont = editor font
PreferenceKeywords.Editing = editing
PreferenceKeywords.Appearance = appearance
PreferenceKeywords.ColorLabels = color label
PreferenceKeywords.General = click background heap
PreferenceKeywords.Themes = themes
PreferenceKeywords.AppearancePage = presentation MRU
PreferenceKeywords.Tabs = tab
PreferenceKeywords.Editors = editors
PreferenceKeywords.Globalization = unicode locale extensions bidi ltr rtl direction
PreferenceKeywords.Reuse = reuse
PreferenceKeywords.Pin = pin
PreferenceKeywords.Close = close
PreferenceKeywords.Dirty = dirty
PreferenceKeywords.Keys = binding command scheme emacs shortcut
PreferenceKeywords.Perspectives = open view switch
PreferenceKeywords.StartupAndShutdown = workbench plug-in plugin refresh
PreferenceKeywords.Workspace = build refresh save automatically name system explorer open project line delimiter
PreferenceKeywords.LinkedResources = path drag drop copy virtual folder variable
PreferenceKeywords.Animations = animations
PreferenceKeywords.Restore = restore
PreferenceKeywords.State = state
PreferenceKeywords.Encoding = encoding
PreferenceKeywords.RecentWorkspaces = workspaces prompt recent startup
PreferenceKeywords.RecentlyOpened = recent opened
PreferenceKeywords.Directory = directory
PreferenceKeywords.Project = project
PreferenceKeywords.Archive = zip tar
PreferenceKeywords.Settings = settings
PreferenceKeywords.unassociated = unassociated

# TODO This stuff is just to help me work on the parsing of the menus extension
# point.  It is likely not in its final form yet.

markerGrouping.severity = Severity
markerGrouping.errors = Errors
markerGrouping.warnings = Warnings
markerGrouping.infos = Infos
markerGrouping.type = Type
markerGrouping.other = Other Markers

menu.toggleCoolbar.tooltip = Toggle coolbar visibility

ContentGenerator.Problems = Problems
ContentGenerator.Tasks = Tasks
ContentGenerator.Bookmarks = Bookmarks
ContentGenerator.AllMarkers = All Markers
ContentGenerator.Category = Contents
ContentGenerator.CategoryDescription = The category for menu contents

MarkerFiltersMenu.Show = &Show
MarkerGroupMenu.GroupBy = &Group By

Field.CreationTime = Creation Time
Field.Resource = Resource
Field.Path = Path
Field.Location = Location
Field.ID = ID
Field.Completion = Completion
Field.Priority = Priority
Field.Description = Description
Field.Type = Type

OpenAnother.Problems = New Problems View
OpenAnother.Tasks = New Tasks View
OpenAnother.Bookmarks = New Bookmarks View
OpenAnother.Markers = New Markers View

OpenAnother.Mnemonic = V

MarkerFilterGrouping.AllErrors = All Errors
MarkerFilterGrouping.SelectedWarnings = Warnings on Selection
MarkerFilterGrouping.SelectedErrorsWarnings = Errors/Warnings on Selection
MarkerFilterGrouping.ProjectErrorsWarnings = Errors/Warnings on Project
MarkerFilterGrouping.TODO = TODOs
PropertyPage.Markers = Marker
PreferencePage.Markers = Markers
ContentGenerator.Markers = Markers

Menu.Sort.label = Sort By
Menu.Sort.mnemonic = S

PreferenceTransfer.ProblemsConfigurations = Problems View Configuration
PreferenceTransfer.ProblemsConfigurations.Description = All configurations set in the problems view.
PreferenceTransfer.TasksConfigurations = Tasks View Configuration
PreferenceTransfer.TasksConfigurations.Description = All configurations set in the tasks view.
PreferenceTransfer.BookmarksConfigurations = Bookmarks View Configuration
PreferenceTransfer.BookmarksConfigurations.Description = All configurations set in the bookmarks view.
PreferenceTransfer.AllMarkersConfigurations = Markers View Configuration
PreferenceTransfer.AllMarkersConfigurations.Description = All configurations set in the markers view.
menu.mnemonic.0 = I
menu.showIn.label = Show In
menu.showIn.mnemonic = I

linked_resources = Linked Resources

filterProvider.description = * = any string, ? = any character, \\ = escape literals: * ? \\
filterProvider.name = String Matcher
orFilterProvider.name =OR
orFilterProvider.description = Allows grouping others filters with the OR logical preposition
andFilterProvider.name =AND
andFilterProvider.description = Allows grouping others filters with the AND logical preposition
notFilterProvider.name =NOT
notFilterProvider.description = Allows grouping others filters with the NOT logical preposition
installationPage.feature.name = Features
multiFilterProvider.name = File and Folder Attributes
multiFilterProvider.description = Match many attributes of files and folders

menu.window.appearance.label=Appearance
menu.window.appearance.mnemonic=a
menu.window.appearance.tooltip=Change appearance of Windows and Toolbars

systemEditorThenTextEditor=System Editor; if none: Text Editor
askUserViaPopup=Ask via pop-up
textEditor=Text Editor
# Smart Import
ExtPoint.projectConfigurator=Project detector and configurator
importProjectsFromFolder_menu=&Open Projects...
importProjectsFromFolderWizard_name=Projects from Folder or Archive
importProjectsFromFolderWizard_description=Analyzes the content of your folder or archive file to find projects and import them in the IDE.
configureProject_contextMenu=Configure and detect &nested projects...
importer.eclipseWorkspace=Eclipse workspace
importer.eclipseProject=Eclipse project
