###############################################################################
# Copyright (c) 2000, 2012 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
###############################################################################

# The locale of this translation of the resource file, will be used as follows: <html lang = "en">
# The resource "locale" is always translated to the name of the locale used for the other resources
# in this file. For example locale=fr in the French translation of this file 
locale=en

application=Application: {0}
buildId=Build id: {0}
browserTitle = Help - {0}
SearchLabel=&Search:
SearchResults=Search Results
Content=Contents
Links=Links
Bookshelf=Table of Contents
show_all=Show All Topics
filter=Filter
show_categories=Group by Categories
show_descriptions=Show Descriptions
Toggle=Toggle Navigation
Synch=Show in Table of Contents
SynchNav=Link with Contents
CollapseAll=Collapse All
shortSynch=Sync
Print=Print Page
PrintMulti=Print Topics
PrintTopic=Print Selected Topic
PrintToc=Print Selected Topic and its Subtopics
PrintError=You must select a valid topic to print
QuickSearchMulti=Search Topics
QuickSearchTopic=Search Selected Topic
QuickSearchToc=Search Selected Topic and its Subtopics
TocHeading=Contents
Close=Close
activeScope=Scope {0}:
matchesInScope={0} matches in {1}:
showAllLink=Show all
changeScopeLink=Change scope
Nothing_found=Nothing found.
Nothing_found_in_scope=Nothing found in scope {0}.
Indexing=Indexing...
Loading=Loading... please wait
complete=complete
GO=Go
doSearch=To search the documentation, type a query in the Search field. The search results will be shown in this view.
Advanced=Advanced Search
SearchExpression=Search Expression
SearchExpressionColon=&Search Expression:
QuickSearchError=You must select a valid topic to search
PotentialHit={0} (potential hit)
expression_label = * = any string, ? = any character, "" = phrase, AND, OR, NOT = boolean operators 
Cancel=Cancel
Select=Select a set of books to be searched:
Toolbar=Toolbar
Tabs=Tabs
Banner=Banner
Footer=Footer
CannotSync=The current document displayed does not exist in the table of contents.
JavaScript_disabled=This page requires JavaScript.  You need to enable JavaScript in your web browser, restart the browser, and return to this page.
back_tip = Go Back
forward_tip = Go Forward
home_tip = Home
highlight_tip = Highlight Search Terms
noTocs=There are no help topics available. Please ensure that the appropriate documentation plug-ins are installed.
contentProducerException=The content producer for this document encountered an internal error while processing the document.
IndexingPleaseWait=Please wait while the online information is indexed. This will happen only once.
Bookmarks = Bookmarks
BookmarkPage = Bookmark Document
RemoveBookmark = Delete
RemoveAllBookmarks = Delete All
deleteBookmark = Delete Selected Bookmark
deleteAllBookmarks = Delete All Bookmarks
confirmDeleteAllBookmarks = All bookmarks will be deleted.  Proceed?
addBookmark=There are currently no bookmarks. To add one, press the bookmark icon on the main toolbar while browsing a topic.
Help=Help
ProcessingError=An error occured while processing the requested document:

searchTooComplex=Search request too complex.
disabledResults=Results from Disabled Capabilities 
AlternateSearchQueries=Alternate search expressions:

# View names
toc=Contents
index=Index
links=Links
search=Search Results
bookmarks=Bookmarks

Views=Navigation Views
noLiveHelp=Active help is not enabled in your installation.
noLiveHelpInInfocenter=You must run help locally to perform "active help" actions.
cookieSaveFailed=Saving scope failed.  Please reduce scope definitions.
CookieUtil.tooManyCookiesNeeded=Too may cookies required to store data.
cookiesRequired=This feature requires cookies to be enabled in your browser.

All=All topics
selectAll=Show &all topics
selectWorkingSet=Show only the following &topics:
SelectWorkingSetTitle=Select Scope
NewWorkingSetButton=&New...
EditWorkingSetButton=&Edit...
RemoveWorkingSetButton=&Remove
OK=OK
NewWorkingSet=New Scope
EditWorkingSet=Edit Scope
WorkingSetName=List &name:
WorkingSetContent=Topics
Scope=Scope:
ScopeTooltip=Select Scope
DefaultScopeName=scope
NoTopicsSelected=You must select at least one topic
NoNameEntered=You must enter a name for the scope

#Confirm Show All Topics dialog
confirmShowAllTitle=Confirm
confirmShowAllQuestion=This action will reveal all topics in the table of contents.
confirmShowAllExplanation=When you choose to show all topics in the table of contents, the headings for documentation about any disabled capabilities are also shown in the table of contents and search results.  This documentation may refer to user interface elements that are not visible.  To manually enable capabilities, use the "Capabilities" preference page.<br><br>Proceed?
yes=Yes
no=No
dontask=Do &not warn me again

# Remote help status page
remoteStatusTitle=Network Help Status - Eclipse SDK
noRemoteSitesToQuery=There are no remote sites to query for status.
sitesWithConnectivity=Available Sites
sitesWithoutConnectivity=Unavailable Sites
noRemoteSitesAvailable=<em>Note: </em>Eclipse can not connect to any of your enabled remote sites.
allRemoteHelpUnavailable=Network Help Unavailable
someRemoteHelpUnavailable=Some Network Help Unavailable
topicUnavailable=The topic that you have requested is not available.
potentialCauses=This condition may be caused by one of the following:
serversCouldBeDown=The remote server(s) could be down.
networkCouldBeDown=Your machine may have lost network connectivity.
mayNeedProxy=You may need to configure proxy settings to access a remote server.
remotePreferences=To view, edit, and test network information center settings, open {0}.
remotePreferencesMenuSelect=Window &gt Preferences &gt Help &gt Content
RemoteHelpRetestTitle=Retest
RemoteHelpRetestLink=Test remote help connections
networkHelpAvailable=Network Help Connected
networkHelpAvailableDetails=All remote help servers are accessible.

# Frame Titles 
ignore=Layout frame: {0}
helpToolbarFrame=Main Help Toolbar
SearchFrame=Search Toolbar
TabsFrame=Selection of Navigation Views
topicView=Topic View
topicViewToolbar=Topic View Toolbar
tocView=Contents View
tocViewToolbar=Contents View Toolbar
linksView=Links View
linksViewToolbar=Links View Toolbar
searchView=Search Results View
searchViewToolbar=Search Results View Toolbar
bookmarksView=Bookmarks View
bookmarksViewToolbar=Bookmarks View Toolbar

# Alt text
bookClosed=Book closed
bookOpen=Book open
topicClosed=Topic closed
topicOpen=Topic open
maximize=Maximize
restore=Restore
expandTopicTitles=Expand topics
collapseTopicTitles=Collapse topics
altTopic=topic
altContainer=container
altContainerTopic=container topic

disabledTopic1 = This topic belongs to a capability that is currently disabled.\n
disabledTopic2 = It may refer to user interface elements that are not visible.\n
disabledTopic3 = To manually enable capabilities, use
disabledTopic4 = Capabilities preference page.

# Titles for Index frames
IndexViewTitle=Index View
IndexTypeinTitle=Index Typein
IndexListTitle=Index List

# Index View text
IndexTypeinInstructions=Type in the word to find:
IndexTypeinButton=Display
IndexEmpty=There are no entries in the index.
IndexPrevious=<< Previous
IndexNext=Next >>
See=See {0}
SeeAlso=See also {0}

# About page
provider=Provider
pluginName=Plug-in Name
version=Version
pluginId=Plug-in Id
aboutPlugins=About Plug-Ins
userAgent=User Agent
preferences=Preferences
badPreferences=Unable to read preferences

# Quick print page
topicNumExceeded=You have chosen to print {0} individual topics. The maximum number of topics allowed to be printed is {1}. To continue printing the first {1} documents of your selection click ''{2}''. Click ''{3}'' to cancel this print job. 
noConnection=The maximum capacity for active connections to the server has been reached. Unfortunately, your print job can not be completed at this time. Please try again.\n
ioException=An error occured during content retrieval.\n
alert=Alert 
error=Error

#criteria
Uncategorized=Uncategorized
criterionClosed=Criterion closed
criterionOpen=Criterion open
Criteria=Criteria

# toc placeholders
someBooksUninstalled=Documentation not installed
installInstructions=Documentation is available but not installed. Click on a link below for information on how to install this documentation.
linkToUninstalledDetails=This help page is in a book that has not been installed.
linkToUninstalledClick=Instructions for installing this book.
ignoreMissingBooks=Do not show again
allBooksInstalledTitle=No Missing Documentation
allBooksInstalled=There is no missing documentation that needs to be installed.

# Validator Servlet
cantCreateServlet=Unable to create servlet: {0}

# Service API
StatusServlet_PARAM_MISSING=The "{0}" parameter is missing from the request.

